Date: Sat, 11 Feb 2012 11:34:53 +0000 (UTC) From: Damjan Marion <dmarion@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r231517 - in projects/armv6/sys/arm: include ti Message-ID: <201202111134.q1BBYrNI029297@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dmarion Date: Sat Feb 11 11:34:53 2012 New Revision: 231517 URL: http://svn.freebsd.org/changeset/base/231517 Log: Add PTE_DEVICE macro in pte.h Add DEVMAP_BOOTSTRAP_MAP_START in ti_machdep.h PTE_DEVICE is introduced as ARMv7 ARM strongly recommends use of shareable device memory. Approved by: cognet (mentor) Modified: projects/armv6/sys/arm/include/pmap.h projects/armv6/sys/arm/ti/ti_machdep.c Modified: projects/armv6/sys/arm/include/pmap.h ============================================================================== --- projects/armv6/sys/arm/include/pmap.h Sat Feb 11 11:24:30 2012 (r231516) +++ projects/armv6/sys/arm/include/pmap.h Sat Feb 11 11:34:53 2012 (r231517) @@ -62,6 +62,7 @@ #define PTE_NOCACHE 1 #endif #define PTE_CACHE 4 +#define PTE_DEVICE 2 #define PTE_PAGETABLE 4 #else #define PTE_NOCACHE 1 Modified: projects/armv6/sys/arm/ti/ti_machdep.c ============================================================================== --- projects/armv6/sys/arm/ti/ti_machdep.c Sat Feb 11 11:24:30 2012 (r231516) +++ projects/armv6/sys/arm/ti/ti_machdep.c Sat Feb 11 11:34:53 2012 (r231517) @@ -97,6 +97,9 @@ __FBSDID("$FreeBSD$"); #define debugf(fmt, args...) #endif +/* Start of address space used for bootstrap map */ +#define DEVMAP_BOOTSTRAP_MAP_START 0xE0000000 + /* * This is the number of L2 page tables required for covering max * (hypothetical) memsize of 4GB and all kernel mappings (vectors, msgbuf, @@ -368,7 +371,7 @@ initarm(void *mdp, void *unused __unused // while (1); /* Platform-specific initialisation */ - pmap_bootstrap_lastaddr = 0xE0000000 - ARM_NOCACHE_KVA_SIZE; + pmap_bootstrap_lastaddr = DEVMAP_BOOTSTRAP_MAP_START - ARM_NOCACHE_KVA_SIZE; pcpu0_init(); @@ -608,14 +611,14 @@ platform_devmap_init(void) fdt_devmap[i].pd_pa = 0x48000000; fdt_devmap[i].pd_size = 0x1000000; fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE; - fdt_devmap[i].pd_cache = PTE_NOCACHE; + fdt_devmap[i].pd_cache = PTE_DEVICE; i++; #elif defined(SOC_TI_AM335X) fdt_devmap[i].pd_va = 0xE4C00000; fdt_devmap[i].pd_pa = 0x44C00000; /* L4_WKUP */ fdt_devmap[i].pd_size = 0x400000; /* 4 MB */ fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE; - fdt_devmap[i].pd_cache = 2; //PTE_NOCACHE; + fdt_devmap[i].pd_cache = PTE_DEVICE; i++; #else #error "Unknown SoC"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202111134.q1BBYrNI029297>