Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jan 2011 10:30:20 -0600
From:      Mark Tinguely <marktinguely@gmail.com>
To:        freebsd-arm@freebsd.org
Cc:        deveshkr@marvell.com
Subject:   Re: Changing virtual adress space layout
Message-ID:  <4D2F289C.9080908@gmail.com>
In-Reply-To: <0DB595A2CB707F458400BE9663B6A7225E42CF271F@SC-VEXCH2.marvell.com>
References:  <0DB595A2CB707F458400BE9663B6A7225E42CF271F@SC-VEXCH2.marvell.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1/13/2011 1:30 AM, Devesh Rai wrote:
> Hi,
>
> I am new to FreeBSD. Can some tell how to change virtual address space layout in FreeBSD for arm?
> For x86, KVA_PAGES=N option is there in FreeBSD.  In Linux, I used CONFIG_VMSPLIT option.
> I am looking corresponding option for arm.
>
> Regards
> Devesh

I assume you have run out of space for the device virtual addresses.

KERNBASE is hard coded in sys/arm/include/vm_param.h to be 0xc0000000.

There is a related variable for each device configuration: the  
KERNVIRTADDR  "option" and "makeoption" values. This is usually in one 
of the "std" file  file for the device. KERNVIRTADDR sets the starting 
location of the executable and is sometimes different than KERNBASE.

The arm code does not map the from KERNBASE to 0xffff_ffff into the KVA. 
Instead, there is a variable that determines the maximum size of the 
kernel executable and kernel virtual address area. Above this defined 
area lies the no-cache remap memory region, device map area, high 
vector, etc.

On a tangent note: There will be a great advantage in ARMv6/ARMv7 to go 
to a 2GB UVA / 2GB KVA.

--Mark.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D2F289C.9080908>