Re: Current kernel with http://gnats.netbsd.org/39965 and pmap patches

"T. Makinen" <[email protected]>
Newsgroups gmane.os.netbsd.ports.atari
Message-ID <[email protected]>
On Thu, Dec 18, 2008 at 4:16 PM, Izumi Tsutsui <[email protected]> wrote:
> [email protected] wrote:
>
>> Thanks for the patch. I applied it and tested with 030, but unfortunately kernel
>> panics right after it has loaded installer to ram disk with:
>
> Ok, I was actually confused.
> Now I think current Sysptmap code is correct.
>
> - 4KB/page systems require 4MB address space for page tables
>  to handle whole 4GB address space.
>
> - 8KB/page systems require 2MB PT pages to handle 4GB range.
>
> - Sysptmap should be mapped as a part of Sysmap in pmap code.
>
>  - On 4KB page systems, Sysmap is allocated at 0xffc00000
>    and its range is from 0xffc00000 to 0xffffffff,
>    so Sysptmap_pa should be mapped at the end of KVA.
>
>  - On 8KB/page systems, Sysmap is allocated at
>    0xff000000 (-PAGE_SIZE * NPTEPG) so its range is from
>    0xff000000 to 0xff1fffff, i.e. there is some unused region.
>    This means Sysptmap_pa should be registered in
>    the PTE entry at &((pt_entry_t *)Sysptmap)[256 - 1],
>    not at [NPTEPG - 1] which 4KB/page systems use.
>
> Maybe we should replace some NPTEPG macro (that is actually TIB_SIZE)
> with TIA_SIZE, which the "256" means.

Thanks for good explanation! I'm totally new to pmap and I guess I'm just
starting to be confused ;). Anyway I splitted atari/atari/pmap.c to two files:
atari/atari/pmap.c and atari/atari/pmap_bootstrap.c. I think it's better that
way and it's easier to test m68k and Atari specific pmap's.

Here's link to new patch (includes also atari/include/vmparam.h, /atar/conf/
files.conf and atari/atari/pmap_bootstrap.c):
http://koti.welho.com/tmakinen/atari/pmap-sync3.diff

> Anyway, I'll try to see if there is more possible pitfall
> for 8KB page systems in m68k pmap code...

I tried kernel with m68k/m68k/pmap_motorola.c and it failed with 030 as well.
Kernel prints following error:
panic: pool_put: buf8k: page header missing.

Maybe this is indicator that there's something wrong with 8KB page systems ?

-Tuomo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.