diff options
author | ian <ian@FreeBSD.org> | 2013-12-14 01:34:24 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-12-14 01:34:24 +0000 |
commit | 6af39cbc397fecce9523f7c04f6dfd42b62c8bfb (patch) | |
tree | 189f9f0c869588ef2c7108b78c386674a9066b0c /sys | |
parent | 47bb9f823b719f3bbc66b7f913c1d2140e1c7711 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/arm/at91/at91_machdep.c | 3 |
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); |