Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Why KERNEL_BASE is 0x80000000?
Hi! matt,
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
> space
> 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
> won't
> have to be copied each user TTB and the user TTB will be 8KB each
> instead
> of 16KB.
hmm...
I am guessing like this.
#ifdef KERNEL_BASE_EXT
#define KERNEL_BASE KERNEL_BASE_EXT
#else
#define KERNEL_BASE 0x80000000 <-- 0xc0000000
#endif
Tisdp24xx and imx31 defined KERNEL_BASE_EXT as 0x80000000. However
other boards not defined KERNEL_BASE_EXT.
Thanks,
--
kiyohara
Home |
Main Index |
Thread Index |
Old Index