ARM/SMP, Some patches for review.
Łukasz Płachno
luk at semihalf.com
Wed Nov 21 14:18:34 UTC 2012
On 20.11.2012 00:08, Giovanni Trematerra wrote:
> On Mon, Nov 19, 2012 at 4:21 PM, Łukasz Płachno <luk at semihalf.com> wrote:
>> Hi,
>>
>> I would like to propose few changes for ARM specific code.
>> Three attached patches for freebsd-current allows building SMP-safe world
>> for ARM targets and turns on TEX remap for ARMv6 and ARMv7 targets.
>>
>> More details inside patch files.
>>
>> Change introduced by "commit-2" removes armv7 targets (armv7 and pj4b) from
>> kernel.tramp.
>> AFAIK this feature is not working properly for armv7 targets and is causing
>> problem during compilation:
>> - LOCORE is defined during kernel compilation but not defined during
>> kernel.tramp compilation, so #include pmap.h causes build errors.
>>
>> I do not think adding hack like this:
>> #ifndef LOCORE
>> #define LOCORE
>> #endif
>>
>> to allow building something that is already broken is a good idea, so I
>> removed cpufunc_asm_pj4b.S and cpufunc_asm_armv7.S from Makefile.arm
>
> In commit-2.txt
> you should include style changes in sys/arm/arm/cpufunc_asm_armv7.S
> into a different patch.
fixed
>
> @@ -63,7 +64,6 @@ FILES_CPU_FUNC = $S/$M/$M/cpufunc_asm_arm7tdmi.S \
> $S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S \
> $S/$M/$M/cpufunc_asm_xscale_c3.S $S/$M/$M/cpufunc_asm_armv5_ec.S \
> $S/$M/$M/cpufunc_asm_fa526.S $S/$M/$M/cpufunc_asm_sheeva.S \
> - $S/$M/$M/cpufunc_asm_pj4b.S $S/$M/$M/cpufunc_asm_armv7.S
>
> You left a trailing back slash but beside that you should clean up
> sys/arm/arm/elf_trampoline.c
> and not make kernel.tramp to build at all for armv7 cpus or you'll end
> up with a linker error
> during generation of the kernel.tramp.
>
Fixed, updated set of patches is attached.
- TEX remap is supported only for armv6 (changed to avoid breaking
armv6 targets)
- Fixed issues with build for pre-armv6 targets (tested with make
tinderbox TARGETS=arm
Regards,
Łukasz Płachno
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1_SMP_fixes.diff
Type: text/x-patch
Size: 3793 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20121121/14afdc82/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2_ARM_cleanup.diff
Type: text/x-patch
Size: 4120 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20121121/14afdc82/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 3_kernel_trampoline.diff
Type: text/x-patch
Size: 2672 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20121121/14afdc82/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 4_tex_remap.diff
Type: text/x-patch
Size: 12347 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20121121/14afdc82/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 5_memory_barriers.diff
Type: text/x-patch
Size: 1283 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20121121/14afdc82/attachment-0004.bin>
More information about the freebsd-arm
mailing list