NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-macppc/58284: NetBSD/macppc 10.0 ofwboot fails to load GENERIC kernel



>Number:         58284
>Category:       port-macppc
>Synopsis:       NetBSD/macppc 10.0 ofwboot fails to load GENERIC kernel
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-macppc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat May 25 21:40:00 +0000 2024
>Originator:     Izumi Tsutsui
>Release:        NetBSD 10.0
>Organization:
>Environment:
System: NetBSD lancer 10.0 NetBSD 10.0 (GENERIC) #0: mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/macppc/compile/GENERIC macppc
Architecture: powerpc
Machine: macppc
>Description:
After NetBSD/macppc 10.0 upgrade from 9.1, the secondary /ofwboot
fails to load 10.0 GENERIC kernel.

ofwboot from 9.1 can load the same 10.0 GENERIC kernel.
 https://mail-index.netbsd.org/netbsd-bugs/2024/05/25/msg083200.html

>How-To-Repeat:
---
Open Firmware, 2.0
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
 ok
0 > boot 
OF_open bootpath=ata/ATA-Disk@0
read stage 2 blocks: 01234. done!
starting stage 2...

>> NetBSD/macppc OpenFirmware Boot, Revision 1.14 (Thu Mar 28 08:33:33 UTC 2024)
>> Open Firmware version 2.x
>> Open Firmware running in virtual-mode.
Cannot use bootpath
Using boot-device instead
11800060+167172 [463008CLAIM failed!!! FAILED TO CLAIM PHYS 0xc6b000 size 0x71000
read section
 start=0x0
DEFAULT CATCH!, code=FFF00300 at   %SRR0: 00E0E328   %SRR1: 00003070 
 ok
0 > 

---

>Fix:
No idea, but there is a large set of changes in ofwboot between
9.x and 10.0:
 https://github.com/NetBSD/src/commit/558e557bc9e320dfbe0fdb4678b99d607e32e270

>> - When starting the boot program, cache a bunch of OFW frequently used
>>   ihandles / phandles, rather than fetching them all the time.
>> - Change the signature of OF_call_method() to take an array of cells for
>>   the inputs and outputs, rather than using variadic arguments.  This
>>   makes it much easier to use OF_call_method() when the format of the
>>   arguments passed to a given method are determined at run-time
>>   (due to e.g. #address-cells).
>> - Properly inform OpenFirmware where the kernel is loaded by using
>>   "claim" on /chosen/memory and, if running in virtual-mode, using
>>   "claim" on /chosen/mmu to reserve the VA, and "map" on /chosen/mmu
>>   to enter the translation.  (The kernel is still always mapped VA==PA.)

The error message "FAILED TO CLAIM PHYS 0x%lx size 0x%lx\n" was added
in this commit. (out of VA space on /chosen/mmu ?)

---
Izumi Tsutsui



Home | Main Index | Thread Index | Old Index