svn commit: r260371 - head/sys/arm/broadcom/bcm2835
Ian Lepore
ian at FreeBSD.org
Mon Jan 6 15:48:17 UTC 2014
Author: ian
Date: Mon Jan 6 15:48:16 2014
New Revision: 260371
URL: http://svnweb.freebsd.org/changeset/base/260371
Log:
Switch to using arm_devmap_add_entry() to set up static device mapping.
This eliminates the hard-coded max kva and roughly doubles the available
kva space.
Modified:
head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
Modified: head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Mon Jan 6 14:56:00 2014 (r260370)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c Mon Jan 6 15:48:16 2014 (r260371)
@@ -59,14 +59,11 @@ __FBSDID("$FreeBSD$");
#include <arm/broadcom/bcm2835/bcm2835_wdog.h>
-/* Start of address space used for bootstrap map */
-#define DEVMAP_BOOTSTRAP_MAP_START 0xE0000000
-
vm_offset_t
initarm_lastaddr(void)
{
- return (DEVMAP_BOOTSTRAP_MAP_START);
+ return (arm_devmap_lastaddr());
}
void
@@ -99,28 +96,16 @@ initarm_late_init(void)
}
}
-#define FDT_DEVMAP_MAX (2) // FIXME
-static struct arm_devmap_entry fdt_devmap[FDT_DEVMAP_MAX] = {
- { 0, 0, 0, 0, 0, }
-};
-
-
/*
- * Construct pmap_devmap[] with DT-derived config data.
+ * Set up static device mappings.
+ * All on-chip peripherals exist in a 16MB range starting at 0x20000000.
+ * Map the entire range using 1MB section mappings.
*/
int
initarm_devmap_init(void)
{
- int i = 0;
-
- fdt_devmap[i].pd_va = 0xf2000000;
- fdt_devmap[i].pd_pa = 0x20000000;
- fdt_devmap[i].pd_size = 0x01000000; /* 1 MB */
- fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE;
- fdt_devmap[i].pd_cache = PTE_DEVICE;
- i++;
- arm_devmap_register_table(&fdt_devmap[0]);
+ arm_devmap_add_entry(0x20000000, 0x01000000);
return (0);
}
More information about the svn-src-all
mailing list