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