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