Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Why KERNEL_BASE is 0x80000000?

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

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.

Home | Main Index | Thread Index | Old Index