Port-powerpc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ofppc - panic pmap_pvo_find_va returning NULL for kernel pmap
Hi Radoslaw,
On 2026/07/01 2:27, Radoslaw Kujawa wrote:
Hi list.
On 6/30/26 00:40, Radosław Kujawa wrote:
The check should not assume that given VA >= PMAP_DIRECT_MAPPED_LEN .
Note that PMAP_DIRECT_MAPPED_LEN is calculated according to the
formula in oea/pmap.h (line 128) :
SEGMENT_LENGTH (256MB) * USER_SR
Why does the panic not trigger on macppc and other PowerPC ports? By
coincidence that depends on ordering of USER_SR and KERNEL_SR utilized
by a given port:
macppc, evbppc etc. use USER_SR 12 and KERNEL_SR 13, 14, so segment-
mappend KVA lands between 0xD0000000 - 0xF0000000, and
PMAP_DIRECT_MAPPED_LEN as calculated is 0xC0000000 .
ofppc uses USER_SR 14 and KERNEL_SR 10, 11, so segment-mapped KVA
lands between 0xA0000000 - 0xC0000000, and PMAP_DIRECT_MAPPED_LEN as
calculated is 0xE0000000 .
After discussion with other developers (thanks Martin, Nick), it was
concluded that cleanest solution is to fix the PMAP_DIRECT_MAPPED_LEN
calculation itself, so that PMAP_DIRECT_MAPPED_LEN reflects true range
of identity-mapped addresses and is independent of KERNEL_SR / USER_SR
ordering on a given port.
The following fix was committed today.
Thank you very much for fixing my overlook for ofppc!
Can you please pull up this fix to netbsd-{10,11}, or can I?
Thanks,
rin
Home |
Main Index |
Thread Index |
Old Index