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-all mailing list