Re: ofppc - panic pmap_pvo_find_va returning NULL for kernel pmap
Rin Okuyama <[email protected]> Wed, 1 Jul 2026 14:13:22 +0900
| Newsgroups | gmane.os.netbsd.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
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