svn commit: r231517 - in projects/armv6/sys/arm: include ti
Damjan Marion
dmarion at FreeBSD.org
Sat Feb 11 11:34:53 UTC 2012
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"
More information about the svn-src-projects
mailing list