Subject: Re: Map kernel as sections
To: None <vii@users.sourceforge.net>
From: Robert Swindells <swindellsr@genrad.com>
List: port-arm
Date: 06/05/2001 14:54:14
John Fremlin wrote:
>Robert Swindells <swindellsr@genrad.com> writes:

>> >How often does the kernel actually get mapped as a section in
>> >practice? I ask because I did (actually I mapped all of physical
>> >memory to its physical address with repeated map_section) and
>> >pmap_extract blew up

>[...]

>> It happens whenever you reboot :-)

>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.

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.

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

>Then I get a prefetch abt in non-user mode, but that's probably got a
>more mundane explanation than mmu issues.

Maybe.

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