[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Current kernel with http://gnats.netbsd.org/39965 and pmap patches
> Thanks for the patch. I applied it and tested with 030, but unfortunately
> 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.
Anyway, I'll try to see if there is more possible pitfall
for 8KB page systems in m68k pmap code...
Main Index |
Thread Index |