summaryrefslogtreecommitdiffstats
path: root/sys/arm/xscale
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2014-05-29 16:56:39 +0000
committercognet <cognet@FreeBSD.org>2014-05-29 16:56:39 +0000
commit3d949b7e8ea88d68f70f90e1fe7e7b7b4f51c37c (patch)
treee1347e121325f1ab5c341a7fba4541cc46a81794 /sys/arm/xscale
parent4aa25df8dd4d25246ec641486860ab659d9a1a16 (diff)
downloadFreeBSD-src-3d949b7e8ea88d68f70f90e1fe7e7b7b4f51c37c.zip
FreeBSD-src-3d949b7e8ea88d68f70f90e1fe7e7b7b4f51c37c.tar.gz
Do not hand the VM the memory used for stacks/page tables/etc.
Diffstat (limited to 'sys/arm/xscale')
-rw-r--r--sys/arm/xscale/i80321/ep80219_machdep.c4
-rw-r--r--sys/arm/xscale/i80321/iq31244_machdep.c4
-rw-r--r--sys/arm/xscale/i8134x/crb_machdep.c4
-rw-r--r--sys/arm/xscale/ixp425/avila_machdep.c4
-rw-r--r--sys/arm/xscale/pxa/pxa_machdep.c4
5 files changed, 20 insertions, 0 deletions
diff --git a/sys/arm/xscale/i80321/ep80219_machdep.c b/sys/arm/xscale/i80321/ep80219_machdep.c
index 54fdfbb..bf3e49a 100644
--- a/sys/arm/xscale/i80321/ep80219_machdep.c
+++ b/sys/arm/xscale/i80321/ep80219_machdep.c
@@ -341,6 +341,10 @@ initarm(struct arm_boot_params *abp)
* Prepare the list of physical memory available to the vm subsystem.
*/
arm_physmem_hardware_region(IQ80321_SDRAM_START, memsize);
+ arm_physmem_exclude_region(freemem_pt, KERNPHYSADDR -
+ freemem_pt, EXFLAG_NOALLOC);
+ arm_physmem_exclude_region(freemempos, KERNPHYSADDR - 0x100000 -
+ freemempos, EXFLAG_NOALLOC);
arm_physmem_exclude_region(abp->abp_physaddr,
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
arm_physmem_init_kernel_globals();
diff --git a/sys/arm/xscale/i80321/iq31244_machdep.c b/sys/arm/xscale/i80321/iq31244_machdep.c
index e1ca22b..9c119ed 100644
--- a/sys/arm/xscale/i80321/iq31244_machdep.c
+++ b/sys/arm/xscale/i80321/iq31244_machdep.c
@@ -343,6 +343,10 @@ initarm(struct arm_boot_params *abp)
* Prepare the list of physical memory available to the vm subsystem.
*/
arm_physmem_hardware_region(SDRAM_START, memsize);
+ arm_physmem_exclude_region(freemem_pt, KERNPHYSADDR -
+ freemem_pt, EXFLAG_NOALLOC);
+ arm_physmem_exclude_region(freemempos, KERNPHYSADDR - 0x100000 -
+ freemempos, EXFLAG_NOALLOC);
arm_physmem_exclude_region(abp->abp_physaddr,
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
arm_physmem_init_kernel_globals();
diff --git a/sys/arm/xscale/i8134x/crb_machdep.c b/sys/arm/xscale/i8134x/crb_machdep.c
index 13e62c4..1953044 100644
--- a/sys/arm/xscale/i8134x/crb_machdep.c
+++ b/sys/arm/xscale/i8134x/crb_machdep.c
@@ -323,6 +323,10 @@ initarm(struct arm_boot_params *abp)
* Prepare the list of physical memory available to the vm subsystem.
*/
arm_physmem_hardware_region(SDRAM_START, memsize);
+ arm_physmem_exclude_region(freemem_pt, KERNPHYSADDR -
+ freemem_pt, EXFLAG_NOALLOC);
+ arm_physmem_exclude_region(freemempos, KERNPHYSADDR - 0x100000 -
+ freemempos, EXFLAG_NOALLOC);
arm_physmem_exclude_region(abp->abp_physaddr,
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
arm_physmem_init_kernel_globals();
diff --git a/sys/arm/xscale/ixp425/avila_machdep.c b/sys/arm/xscale/ixp425/avila_machdep.c
index 2b27a66..cd5bb06 100644
--- a/sys/arm/xscale/ixp425/avila_machdep.c
+++ b/sys/arm/xscale/ixp425/avila_machdep.c
@@ -413,6 +413,10 @@ initarm(struct arm_boot_params *abp)
* Prepare the list of physical memory available to the vm subsystem.
*/
arm_physmem_hardware_region(PHYSADDR, memsize);
+ arm_physmem_exclude_region(freemem_pt, KERNPHYSADDR -
+ freemem_pt, EXFLAG_NOALLOC);
+ arm_physmem_exclude_region(freemempos, KERNPHYSADDR - 0x100000 -
+ freemempos, EXFLAG_NOALLOC);
arm_physmem_exclude_region(abp->abp_physaddr,
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
arm_physmem_init_kernel_globals();
diff --git a/sys/arm/xscale/pxa/pxa_machdep.c b/sys/arm/xscale/pxa/pxa_machdep.c
index 6bf58d3..130e0f3 100644
--- a/sys/arm/xscale/pxa/pxa_machdep.c
+++ b/sys/arm/xscale/pxa/pxa_machdep.c
@@ -335,6 +335,10 @@ initarm(struct arm_boot_params *abp)
if (memsize[j] > 0)
arm_physmem_hardware_region(memstart[j], memsize[j]);
}
+ arm_physmem_exclude_region(freemem_pt, KERNPHYSADDR -
+ freemem_pt, EXFLAG_NOALLOC);
+ arm_physmem_exclude_region(freemempos, KERNPHYSADDR - 0x100000 -
+ freemempos, EXFLAG_NOALLOC);
arm_physmem_exclude_region(abp->abp_physaddr,
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
arm_physmem_init_kernel_globals();
OpenPOWER on IntegriCloud