svn commit: r246926 - in head/sys: arm/arm arm/include vm

Andrew Turner andrew at fubar.geek.nz
Wed Feb 20 09:31:26 UTC 2013


On Tue, 19 Feb 2013 11:58:15 -0600
Alan Cox <alc at rice.edu> wrote:

> On 02/18/2013 13:34, Andrew Turner wrote:
> > On Mon, 18 Feb 2013 01:02:49 +0000 (UTC)
> > Alan Cox <alc at FreeBSD.org> wrote:
> >
> >> Author: alc
> >> Date: Mon Feb 18 01:02:48 2013
> >> New Revision: 246926
> >> URL: http://svnweb.freebsd.org/changeset/base/246926
> >>
> >> Log:
> >>   On arm, like sparc64, the end of the kernel map varies from one
> >> type of machine to another.  Therefore, VM_MAX_KERNEL_ADDRESS can't
> >> be a constant. Instead, #define it to be a variable,
> >> vm_max_kernel_address, just like we do on sparc64.
> > This looks to be broken on non-FDT ARM. There are still a number of
> > copies of initarm for older ports without FDT that will need
> > vm_max_kernel_address to be set.
> 
> Thanks for pointing this out.  I believe that the attached patch adds
> the necessary initialization to all of the non-FDT platforms.  Since I
> had to edit most of the pmap_bootstrap() calls, I also eliminated the
> redundant second argument.

That patch looks correct and produces what appears to be a correct
value on at91. Without the patch I get:
# sysctl vm.max_kernel_address
vm.max_kernel_address: 0

With the patch I get:
# sysctl vm.max_kernel_address
vm.max_kernel_address: 3623911424

I've checked this value for this board to be correct for the method
at91 uses to calculate vm_max_kernel_address.

Andrew


More information about the freebsd-arm mailing list