[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Why KERNEL_BASE is 0x80000000?
From: Matt Thomas <matt%3am-software.com@localhost>
Date: Sat, 10 May 2008 09:44:38 -0700
> On May 10, 2008, at 2:35 AM, KIYOHARA Takashi wrote:
> > Hi! matt,
> > My gumstix (evbarm) occur data abort at boot time at
> > pmap_link_l2pt():pmap.c, because variable pde points 0x80XXXXXX.
> > However our VA is 0xc0000000.
> > When I investigated, our KERNEL_BASE was defined in 0x80000000 in
> > vmparam.h.
> > http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/evbarm/include/
> > vmparam.h.diff?r1=1.24&r2=1.25&f=h
> > In my guess, I think that it should define KERNEL_BASE with
> > 0xc0000000.
> > And, KERNEL_BASE_EXT is defined as for your tisdp24xx and imx31.
> I have updated the std.xxx in evbarm to define KERNEL_BASE_EXT for those
> configurations that need it.
> The reason for the change is that i really want user/kernel address
> split to be 0x80000000 so that we can use the armv6 and later feature of
> split TTBs. TTBR0 is for user space and TTBR1 is for the kernel.
> This will be a 2G/2G split. It also means that the kernel L1 entries
> have to be copied each user TTB and the user TTB will be 8KB each
> of 16KB.
I am guessing like this.
#define KERNEL_BASE KERNEL_BASE_EXT
#define KERNEL_BASE 0x80000000 <-- 0xc0000000
Tisdp24xx and imx31 defined KERNEL_BASE_EXT as 0x80000000. However
other boards not defined KERNEL_BASE_EXT.
Main Index |
Thread Index |