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