Subject: Re: Map kernel as sections
To: None <firstname.lastname@example.org>
From: Robert Swindells <email@example.com>
Date: 06/05/2001 14:54:14
John Fremlin wrote:
>Robert Swindells <firstname.lastname@example.org> 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.
I had a look at rpc_machdep.c after your first mail yesterday. I couldn't
see much that could be left out.