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