svn commit: r295168 - in head/sys/arm: arm include

Svatopluk Kraus onwahe at gmail.com
Wed Feb 3 10:01:54 UTC 2016


Well, I was told that acle-compat.h is needed when __ARM_ARCH is used
as some older or newer, not sure now, gcc does not defines it for us.
I think that it came to me from andrew at .

BTW, the aarch64 kernel build was fixed in r295198 by mmel at . Thanks.

Svata

On Wed, Feb 3, 2016 at 9:01 AM, Wojciech Macek <wma at semihalf.com> wrote:
> Is it necessary to add acle-compat.h to the includes? If so, I suggest
> putting it under ifndef __aarch64__ , to fix the ARM64 build.
>
> Regards,
> Wojtek
>
> 2016-02-02 22:17 GMT+01:00 Svatopluk Kraus <skra at freebsd.org>:
>>
>> Author: skra
>> Date: Tue Feb  2 21:17:25 2016
>> New Revision: 295168
>> URL: https://svnweb.freebsd.org/changeset/base/295168
>>
>> Log:
>>   Use pmap_preboot_map_attr() directly in arm_devmap_bootstrap()
>>   instead of hiding behind pmap_map_chunk(). It's not longer needed
>>   after old pmap-v6 code was removed.
>>
>>   For compatibility with __ARM_ARCH < 6, define PTE_DEVICE in devmap.c
>>   file. Certainly, it would be nice if VM_MEMATTR_DEVICE could be used
>>   even for __ARM_ARCH < 6.
>>
>> Modified:
>>   head/sys/arm/arm/devmap.c
>>   head/sys/arm/include/pmap-v6.h
>>
>> Modified: head/sys/arm/arm/devmap.c
>>
>> ==============================================================================
>> --- head/sys/arm/arm/devmap.c   Tue Feb  2 21:11:23 2016        (r295167)
>> +++ head/sys/arm/arm/devmap.c   Tue Feb  2 21:17:25 2016        (r295168)
>> @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
>>  #include <vm/vm.h>
>>  #include <vm/vm_extern.h>
>>  #include <vm/pmap.h>
>> +#include <machine/acle-compat.h>
>>  #include <machine/armreg.h>
>>  #include <machine/devmap.h>
>>  #include <machine/vmparam.h>
>> @@ -52,6 +53,9 @@ static boolean_t devmap_bootstrap_done =
>>  #define        PTE_DEVICE      VM_MEMATTR_DEVICE
>>  #elif defined(__arm__)
>>  #define        MAX_VADDR       ARM_VECTORS_HIGH
>> +#if __ARM_ARCH >= 6
>> +#define        PTE_DEVICE      VM_MEMATTR_DEVICE
>> +#endif
>>  #endif
>>
>>  /*
>> @@ -204,8 +208,13 @@ arm_devmap_bootstrap(vm_offset_t l1pt, c
>>
>>         for (pd = devmap_table; pd->pd_size != 0; ++pd) {
>>  #if defined(__arm__)
>> +#if __ARM_ARCH >= 6
>> +               pmap_preboot_map_attr(pd->pd_pa, pd->pd_va, pd->pd_size,
>> +                   pd->pd_prot, pd->pd_cache);
>> +#else
>>                 pmap_map_chunk(l1pt, pd->pd_va, pd->pd_pa, pd->pd_size,
>> -                   pd->pd_prot,pd->pd_cache);
>> +                   pd->pd_prot, pd->pd_cache);
>> +#endif
>>  #elif defined(__aarch64__)
>>                 pmap_kenter_device(pd->pd_va, pd->pd_size, pd->pd_pa);
>>  #endif
>>
>> Modified: head/sys/arm/include/pmap-v6.h
>>
>> ==============================================================================
>> --- head/sys/arm/include/pmap-v6.h      Tue Feb  2 21:11:23 2016
>> (r295167)
>> +++ head/sys/arm/include/pmap-v6.h      Tue Feb  2 21:17:25 2016
>> (r295168)
>> @@ -218,12 +218,6 @@ vm_offset_t pmap_preboot_reserve_pages(u
>>  vm_offset_t pmap_preboot_get_vpages(u_int );
>>  void pmap_preboot_map_attr(vm_paddr_t, vm_offset_t, vm_size_t, vm_prot_t,
>>      vm_memattr_t);
>> -static __inline void
>> -pmap_map_chunk(vm_offset_t l1pt, vm_offset_t va, vm_offset_t pa,
>> -    vm_size_t size, int prot, int cache)
>> -{
>> -       pmap_preboot_map_attr(pa, va, size, prot, cache);
>> -}
>>
>>  #endif /* _KERNEL */
>>
>> @@ -256,29 +250,6 @@ pmap_map_chunk(vm_offset_t l1pt, vm_offs
>>   */
>>  void vector_page_setprot(int);
>>
>> -/*
>> - * sys/arm/arm/bus_space_generic.c (just comment)
>> - * sys/arm/arm/devmap.c
>> - * sys/arm/arm/pmap.c (just comment)
>> - * sys/arm/at91/at91_machdep.c
>> - * sys/arm/cavium/cns11xx/econa_machdep.c
>> - * sys/arm/freescale/imx/imx6_machdep.c (just comment)
>> - * sys/arm/mv/orion/db88f5xxx.c
>> - * sys/arm/mv/mv_localbus.c
>> - * sys/arm/mv/mv_machdep.c
>> - * sys/arm/mv/mv_pci.c
>> - * sys/arm/s3c2xx0/s3c24x0_machdep.c
>> - * sys/arm/versatile/versatile_machdep.c
>> - * sys/arm/xscale/ixp425/avila_machdep.c
>> - * sys/arm/xscale/i8134x/crb_machdep.c
>> - * sys/arm/xscale/i80321/ep80219_machdep.c
>> - * sys/arm/xscale/i80321/iq31244_machdep.c
>> - * sys/arm/xscale/pxa/pxa_machdep.c
>> - */
>> -#define PTE_DEVICE     PTE2_ATTR_DEVICE
>> -
>> -
>> -
>>  #endif /* _KERNEL */
>>  //
>> -----------------------------------------------------------------------------
>>
>>
>


More information about the svn-src-all mailing list