qemu-ppc
[Top][All Lists]
Advanced

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

Re: Missing dimm-info properties in openbios ?


From: Andrew Randrianasulu
Subject: Re: Missing dimm-info properties in openbios ?
Date: Wed, 19 Mar 2025 19:58:28 +0300



ср, 19 мар. 2025 г., 19:45 BALATON Zoltan <balaton@eik.bme.hu>:
On Wed, 19 Mar 2025, Andrew Randrianasulu wrote:
> On Wed, Mar 19, 2025 at 7:12 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
>> On Wed, 19 Mar 2025, Andrew Randrianasulu wrote:
>>> On Wed, Mar 19, 2025 at 6:55 PM BALATON Zoltan <balaton@eik.bme.hu> wrote:
>>>> On Wed, 19 Mar 2025, Andrew Randrianasulu wrote:
>>>>> On Wed, Mar 19, 2025 at 5:35 PM Andrew Randrianasulu
>>>>> <randrianasulu@gmail.com> wrote:
>>>>>> ср, 19 мар. 2025 г., 16:40 BALATON Zoltan <balaton@eik.bme.hu>:
>>>>>>> On Wed, 19 Mar 2025, Andrew Randrianasulu wrote:
>>>>>>>> ср, 19 мар. 2025 г., 16:04 BALATON Zoltan <balaton@eik.bme.hu>:
>>>>>>>>> On Wed, 19 Mar 2025, Andrew Randrianasulu wrote:
>>>>>>>>>> I was reading NetBSD's
>>>>>>>>>>
>>>>>>>>>> sys/arch/macppc/macppc/memory.c
>>>>>>>>>>
>>>>>>>>>> and there is comment:
>>>>>>>>>>
>>>>>>>>>> *<---->The EEPROMs for Serial Presence Detect don't show up in the
>>>>>>>>>> * <--->OpenFirmware tree, but their contents are available through the
>>>>>>>>>>
>>>>>>>>>> * <--->"dimm-info" property of the "/memory" node.  To make the
>>>>>>>>>> * <--->information available, we fake up an I2C bus with EEPROMs
>>>>>>>>>> * <--->containing the appropriate slices of the "dimm-info" property.
>>>>>>>>>>
>>>>>>>>>> But I can't find "dimm-info" in openbios source tree ?
>>>>>>>>>>
>>>>>>>>>> Is it simply not implemented?
>>>>>>>>>
>>>>>>>>> I think OpenBIOS knows nothing about SPD and Mac i2c so it won't look at
>>>>>>>>> them. It gets memory size from fw_cfg which it adds to /memory node and
>>>>>>>>> that's it. Does NetBSD work on g3beige?
>>>>>>>>
>>>>>>>>
>>>>>>>> yes, this is where I noticed that keyboard on cuda/adb acts strange not
>>>>>>>> only in macos ..... but may be not all hosts affected that badly.
>>>>>>>>
>>>>>>>>
>>>>>>>> You can try that with the Apple
>>>>>>>>> ROM then and see if that works.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> yeah, I just need to find this rage128 option ROM ;) (dingusppc seems to
>>>>>>>> get it from main rom or somewhere else ...?).
>>>>>>>
>>>>>>> I think DingusPPC emulates the older ATI GPU that beige G3 had and the
>>>>>>> machine ROM contains driver for that so no ROM is needed. The G4 had
>>>>>>> Rage128Pro so that may have ROM for it but Rage128Pro on G3 probably needs
>>>>>>> a Mac ROM for the newer card. These are easy to find if you look for "ati
>>>>>>> mac roms" for example.
>>>>>>
>>>>>>
>>>>>> like this?
>>>>>>
>>>>>> https://lists.ucc.gu.uwa.edu.au/pipermail/cdg5/2020-July/000270.html
>>>>>>
>>>>>>
>>>>>
>>>>> reapplied two patches on top of-current quemu, but sadly it dos not work?
>>>>>
>>>>>
>>>>> netbsd10$ ~/src/qemu/build/qemu-system-ppc -bios
>>>>> ~/src/MacROMan/TestImages/4MB\ ROMs/1997-11\ -\ 79D68D63\ -\ Power\
>>>>> Mac\ G3\ desktop.ROM    -d unimp -device
>>>>> ati-vga,addr=0x12,romfile=/home/guest//src/qemu/build/ati_oem_rage128pro_136_agp_full.rom
>>>>> -serial stdio -m 256 -M g3beige
>>>>> portA_write unimplemented
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> netbsd10$
>>>>> netbsd10$
>>>>> netbsd10$
>>>>> netbsd10$ ~/src/qemu/build/qemu-system-ppc -bios
>>>>> ~/src/MacROMan/TestImages/4MB\ ROMs/1997-11\ -\ 79D68D63\ -\ Power\
>>>>> Mac\ G3\ desktop.ROM    -d unimp -device
>>>>> ati-vga,addr=0x12,romfile=/home/guest//src/qemu/build/ati_oem_rage128pro_136_agp_full.rom
>>>>> -serial stdio -m 256 -M g3beige
>>>>> portA_write unimplemented
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>>>> netbsd10$
>>>>>
>>>>>
>>>>> Note, amount of CUDA messages differ between two runs!
>>>>
>>>> I see no disk image to boot in those command lines.
>>>
>>>
>>> netbsd10$ ~/src/qemu/build/qemu-system-ppc -bios
>>> ~/src/MacROMan/TestImages/4M\ ROMs/1997-11\ -\ 79D68D63\ -\ Power\
>>> Mac\ G3\ desktop.ROM    -d unimp,guest_rrors -device
>>> ati-vga,addr=0x12,romfile=/home/guest//src/qemu/build/ati_oem_rae128pro_136_agp_full.rom
>>> -m 256 -M g3beige -serial stdio -hda nvram.img
>>> WARNING: Image format was not specified for 'nvram.img' and probing guessed ra.
>>>         Automatically detecting the format is dangerous for raw
>>> images, writeoperations on block 0 will be restricted.
>>>         Specify the 'raw' format explicitly to remove the restrictions.
>>> portA_write unimplemented
>>> CUDA: unimplemented GET_SET_IIC read 0x28 1
>>> CUDA: GET_SET_IIC: wrong parameters 2
>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>> CUDA: GET_SET_IIC: wrong parameters 4
>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>> CUDA: GET_SET_IIC: wrong parameters 4
>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>> CUDA: GET_SET_IIC: wrong parameters 4
>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>> CUDA: GET_SET_IIC: wrong parameters 4
>>> CUDA: unimplemented GET_SET_IIC write 0x45 3
>>> CUDA: GET_SET_IIC: wrong parameters 4
>>> CUDA: COMBINED_FORMAT_IIC: wrong parameters 4
>>> CUDA: COMBINED_FORMAT_IIC: wrong parameters 4
>>> CUDA: COMBINED_FORMAT_IIC: wrong parameters 4
>>>
>>> Trying to write invalid spr 0 (0x000) at fff10d38
>>> Trying to read invalid spr 0 (0x000) at fff10d40
>>> Trying to write privileged spr 955 (0x3bb) at fff13190
>>> Trying to write invalid spr 959 (0x3bf) at fff131ac
>>> Trying to read invalid spr 959 (0x3bf) at fff131b4
>>> portA_write unimplemented
>>>
>>>
>>> stiil no?
>>
>> The nvram.img is not a disk but the backing store for the nvram. You have
>> to add that with -drive if=mtd,format=raw,file=nvram.img for it to be used
>> as intended.
>
>
> SUCCESS!
>
> Open Firmware, 2.0f1
> To continue booting the MacOS type:
> BYE<return>
> To continue booting from the default boot device type:
> BOOT<return>
> For Open Firmware serial I/O type:
> TTYA IO<return>
> ok
> 0 >
>
> netbsd10$ ~/src/qemu/build/qemu-system-ppc -bios
> ~/src/MacROMan/TestImages/4MB\ ROMs/1997-11\ -\ 79D68D63\ -\ Power\
> Mac\ G3\ desktop.ROM    -d unimp,guest_errors -device
> ati-vga,addr=0x12,romfile=/home/guest//src/qemu/build/ati_oem_rage128pro_136_agp_full.rom
> -m 256 -M g3beige  -drive if=mtd,format=raw,file=nvram.img
> portA_write unimplemented
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: unimplemented GET_SET_IIC write 0x45 3
> CUDA: GET_SET_IIC: wrong parameters 4
> CUDA: COMBINED_FORMAT_IIC: wrong parameters 4
> CUDA: COMBINED_FORMAT_IIC: wrong parameters 4
>
>
>
> Can you PLEASE document this mtd usage, so ppl will use it in future?

I don't know where and what to write about it so I'd leave that to
somebody else.


can you edit qemu/platforms/powerpc ?

https://wiki.qemu.org/Documentation/Platforms/PowerPC




One thing to note though is that you can't mix Apple ROM
and OpenBIOS as these use different nvram format so these will break each
other if you pass the same nvram.img. I think OpenBIOS uses the same
format as spapr which is likely wrong for a Mac so it might need to be
changed to use the correct format to be compatible with Apple ROM. Also if
the problem for the embedded 68k toolbox ROM is missing PRAM settings
maybe DingusPPC has figured that out and has some defaults somewhere that
it uses? Porting that from there might get QEMU further with Mac ROM
maybe?


I can't see graphics output, even if procedure outlined at  
https://www.netbsd.org/ports/macppc/faq.html#ofw-boot-video

 does not produce OF prompt errors, I can see "word" open if I cd (dev) to attached ATY device ...

May be it will boot netbsd via serial ....


I think very same person asking for Old World roms loading in qemu listed as dingusppc developer ...

so small world and all this.

still, how to get memory size from OFW 2.0 ? I can dev to memory node but there is no reg property or anything size related ....


Regards,
BALATON Zoltan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]