Subject: Re: Map kernel as sections
To: None <>
From: John Fremlin <>
List: port-arm
Date: 06/05/2001 18:28:36
Robert Swindells <> writes:

> >Ah, but not the whole kernel as sections. That is what I did (mapping
> >a bit more of non-kernel physical memory as well because the kernel
> >doesn't fit exactly), without a kernel page table at all, and the boot
> >process stopped after telling me how many buffers I had.
> If you define VERBOSE_INIT_ARM for the code in arch/arm32/machdep.c
> you will see that the first 1MB of the kernel is mapped as a
> section, followed by several 64kB pages, then by a few 4kB pages.

[Depending very much on where your kernel is located and its size. My
kernel is still < 1 Mb IIRC. Further, I have no access to a riscpc

> All of the things that are declared in the l1_sec_table are mapped
> as sections too.
> >When I map the kernel (and a bit more) as pages, including mapping
> >the pagetable in the pagetable area, it gets much further down -
> >all the way to "psionwbus0 at mainbus0rtc0 at psionwbus0 addr
> >xxx-xxx" (whoops missed a newline somewhere)
> Very nice. The standard code isn't broken though.

Indeed. As long as there is a pagetable mapped into the ptpt, it
doesn't matter whether the kernel is mapped as a section or not :-)

> Why not get your port working first, then rewrite the pmap code.

Hehe. Lack of ambition :-)


> I had a look at rpc_machdep.c after your first mail yesterday. I
> couldn't see much that could be left out.

Not left out exactly but designed better.

rpc_machdep is about 2000 lines, my version is 512. Of course, a lot
of the cruft in rpc_machdep is ifdefd or commented out, or is necessary
for compatibility.