Hi, thanks for the information, from your lspci log, already noticed two different things, it does have RlxdOrd and NoSnoop both enabled for x16 slot, AMD Caicos almost certainly requested both, if RlxdOrd failed, could explain the ring0 failure and adding a patch to clear it on GPU's DevCTl (or on the bridge's DevCtl). But didn't have time to test anymore the x16 slot, took so many attempts and takes a while to compile kernel again and again, reboots etc, I'll leave this for later, when have more free time and analyze it calmly.
Note that my PCI config capture is from Open Firmware, not Mac OS X or Linux. I don't know what those flags are for or if or why an OS might change them.
joevt, I used your flashrom tool to dump the openfirmware rom of PowerMac G5 and a Mac Mini G4 silent update, I wonder if is there any preservation effort going on for these newer macs roms?
I don't know of any preservation efforts. I have all of them locally and on Dropbox. MAME might have a iMac or B&W G3 dump.
All the ones I have are listed at
https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/ in the "List of Open Firmware versions".
ROMs I've obtained are also indicated in the
romidentity.cpp source file of DingusPPC as comments that state Open Firmware version and build date. I've attached
romlist.txt which lists all the Mac ROMs.
Also in the attachment is
MAME rom list.worksheet which I haven't updated in a couple years. It has a list of 16 New World ROMs but I don't know (or don't remember) where or if they have downloads available for them.
I used MacOS X Tiger to dump them, I noticed that if use Leopard it'd dump but the checksum would be different, so I doubled checked that with Tiger.
Post-grackle era New World Macs (after G4 Yikes), starting with 3.2.4f1, store NVRAM on the same flash as the firmware. This changes when you change the startup disk.
The ROMs you have are these (which I already have):
Code:
Mac Mini G4
2005.0712 4.9.4f1 0x0282.01 f4dc2533 31c3da94.afc428e3.6ffcc00a.eb0ab168
G5 Dual or Quad Core PCIe
2005.0930 5.2.7f1 0x22c2.02 b7fe51fc f64cfc26.4a455557.beca915e.eeec8109
The first checksum (e.g. f4dc2533) is a partial checksum of the config block which excludes Open Firmware version and build date. This is used as one of the identifiers in
romidentity.cpp for identifying a machine model. The config block contains the model and revision (e.g. 0x0282 translates to PowerMac10,2 and 0x22c2 translates to PowerMac11,2) and info about features of the model.
The next four checksums are: start (PowerPC exception vectors and HWInit), config block, recovery, and romimage. DingusPPC will calculate those and verify them but will not use them for the sake of machine identification.
Although DingusPPC has code to identify these post-grackle era New World ROMs, it does not yet emulate any of them.