svn commit: r259746 - releng/10.0/sys/arm/at91
Adrian Chadd
adrian at freebsd.org
Mon Dec 23 04:42:13 UTC 2013
Are there any compile and/or run time checks to ensure that memory
regions aren't overlapping and to bitch if they are?
-a
On 22 December 2013 14:20, Warner Losh <imp at freebsd.org> wrote:
> Author: imp
> Date: Sun Dec 22 22:20:17 2013
> New Revision: 259746
> URL: http://svnweb.freebsd.org/changeset/base/259746
>
> Log:
> Merge from stable/10 r259380:
>
> 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...
>
> Approved by: re@ (gjb@)
>
> Modified:
> releng/10.0/sys/arm/at91/at91_machdep.c
> Directory Properties:
> releng/10.0/ (props changed)
>
> Modified: releng/10.0/sys/arm/at91/at91_machdep.c
> ==============================================================================
> --- releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 21:53:08 2013 (r259745)
> +++ releng/10.0/sys/arm/at91/at91_machdep.c Sun Dec 22 22:20:17 2013 (r259746)
> @@ -631,7 +631,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);
More information about the svn-src-releng
mailing list