summaryrefslogtreecommitdiffstats
path: root/sys/arm/at91
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2013-12-14 01:34:24 +0000
committerian <ian@FreeBSD.org>2013-12-14 01:34:24 +0000
commit6af39cbc397fecce9523f7c04f6dfd42b62c8bfb (patch)
tree189f9f0c869588ef2c7108b78c386674a9066b0c /sys/arm/at91
parent47bb9f823b719f3bbc66b7f913c1d2140e1c7711 (diff)
downloadFreeBSD-src-6af39cbc397fecce9523f7c04f6dfd42b62c8bfb.zip
FreeBSD-src-6af39cbc397fecce9523f7c04f6dfd42b62c8bfb.tar.gz
MFC r259038, r259039:
Bump the maximum VM space from 3 * memory size to a fixed 256MB. That's all we have room for since we map the hardware registers starting at 0xd0000000. This allows my 64MB AT91SAM9G20 to boot again after the unmmaped I/O changes were MFC'd at r251897. Other subplatforms may need similar treatment. Although not strictly required to boot a 64MB board, bump vm_max_virtual_address to be KERNVIRTADDR + 256MB. This allows some future shock protection since the KVA requirements have gone up since the unmapped changes have gone in, as well as preventing us from overlapping with the hardware devices, which we map at 0xd0000000, which we'd hit with anything more than 85MB...
Diffstat (limited to 'sys/arm/at91')
-rw-r--r--sys/arm/at91/at91_machdep.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/at91/at91_machdep.c b/sys/arm/at91/at91_machdep.c
index 32fa129..2eb00a1d 100644
--- a/sys/arm/at91/at91_machdep.c
+++ b/sys/arm/at91/at91_machdep.c
@@ -633,7 +633,8 @@ initarm(struct arm_boot_params *abp)
pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1);
arm_dump_avail_init(memsize, sizeof(dump_avail)/sizeof(dump_avail[0]));
- vm_max_kernel_address = KERNVIRTADDR + 3 * memsize;
+ /* Always use the 256MB of KVA we have available between the kernel and devices */
+ vm_max_kernel_address = KERNVIRTADDR + (256 << 20);
pmap_bootstrap(freemempos, &kernel_l1pt);
msgbufp = (void*)msgbufpv.pv_va;
msgbufinit(msgbufp, msgbufsize);
OpenPOWER on IntegriCloud