Date: Wed, 3 Feb 2016 11:01:53 +0100 From: Svatopluk Kraus <onwahe@gmail.com> To: Wojciech Macek <wma@semihalf.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r295168 - in head/sys/arm: arm include Message-ID: <CAFHCsPWTAXv76LSo28PYdLcrkSzN8xmo%2BED8yBPHXihdTUbOwA@mail.gmail.com> In-Reply-To: <CANsEV8fPdqRUih%2BjduhBiMNsSjRbzhnh6wYhs8Lx_B0jE7qw3A@mail.gmail.com> References: <201602022117.u12LHP7M056632@repo.freebsd.org> <CANsEV8fPdqRUih%2BjduhBiMNsSjRbzhnh6wYhs8Lx_B0jE7qw3A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@. BTW, the aarch64 kernel build was fixed in r295198 by mmel@. Thanks. Svata On Wed, Feb 3, 2016 at 9:01 AM, Wojciech Macek <wma@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@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 */ >> // >> ----------------------------------------------------------------------------- >> >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPWTAXv76LSo28PYdLcrkSzN8xmo%2BED8yBPHXihdTUbOwA>