According to my DumpPCIRom.sh script, your ROM has three images:There is an ARM part in that ROM which I don’t see the need for. Is eliminating that part going to help?
- BIOS (44032 bytes)
- EFI X64 (38400 bytes compressed)
- EFI ARM 64-bit (39936 bytes compressed)
A GPU for a Power Mac or other Open Firmware system would include an Open Firmware image.
I think the BIOS image includes some stuff in the header so it shouldn't be removed.
To remove the EFI ARM image, you can probably just change the Indicator at 0xAC31 from 00 to 80.
Code:
\ 00000000: PCI magic number (55AA): 55AA
\ 00000002: Image Length in 512 bytes: 56 (* 0x200 = 0xAC00)
\ 00000003: Entry point for INIT function (Legacy): E9 06250000 00000000 00000000 00000000 00000000 ..%..................
\ 00000018: Pointer to start of PCI Data Structure: 036C
\ 0000001A: Pad bytes: 0000
\ Variable length pad bytes:
\ 0000001c: 00004942 4D7E42A0 00000000 00000000 00000004 20373631 32393535 32300000 ..IBM~B............. 761295520..
\ 0000003c: 00000000 00000000 00000000 40030000 00000000 31312F30 342F3230 2032323A ............@.......11/04/20 22:
\ 0000005c: 30330000 32000000 E9F92500 E9032600 00001002 09000000 01024000 00C0BF73 03..2.....%...&...........@....s
\ 0000007c: 00000000 6E006400 90010000 5F007206 D007E40C 7C990500 00000000 00000000 ....n.d....._.r.....|...........
\ 0000009c: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................
\ 000000bc: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................
\ 000000dc: 00000000 00000000 00000000 00000000 00000000 00000000 07000000 00000000 ................................
\ 000000fc: 16003403 0FFC4001 00000000 08000800 088041CC F32842CD A31080E8 0D7EE378 ..4...@...........A..(B......~.x
\ 0000011c: CEFFFF00 00000000 00207EC5 FF010000 00800510 0090F53B 87B26A3A 473AC700 ......... ~............;..j:G:..
\ 0000013c: 0000003F 00AE7353 05800F08 2104FF3C 00C02202 0242C701 65D5740E 81E0810A ...?..sS....!..<.."..B..e.t.....
\ 0000015c: 001E9008 F03EA768 24002100 21002100 0100C002 50029101 02001880 01400606 .....>.h$.!.!.!.....P........@..
\ 0000017c: 1E110752 80180C0E 12000000 0EF00200 00000800 80010600 08401810 30000000 ...R.....................@..0...
\ 0000019c: 20000000 04000000 1C040000 C8000000 30000000 0000F808 40000000 00000004 ...............0.......@.......
\ 000001bc: 00000000 1C320008 40E83800 00000000 00000000 00000000 000000E4 27094010 .....2..@.8.................'.@.
\ 000001dc: 18006400 000000C0 98070000 40FA01A0 00240000 00801090 01180000 08008081 ..d.........@....$..............
\ 000001fc: 470100F0 A11F1130 00000000 02FCCE81 8E830004 3131332D 44343132 30313030 G......0............113-D4120100
\ 0000021c: 2D313030 004E4156 49323100 5043495F 45585052 45535300 47444452 36000D0A -100.NAVI21.PCI_EXPRESS.GDDR6...
\ 0000023c: 4E415649 32312047 616D696E 67205854 58204434 31322020 20202020 20202020 NAVI21 Gaming XTX D412
\ 0000025c: 20202020 20202020 20202020 20202020 20202020 20202020 20202020 20202020
\ 0000027c: 20202020 20202020 20202020 0D0A000D 0A200D0A 00284329 20313938 382D3230 ..... ...(C) 1988-20
\ 0000029c: 32302C20 41647661 6E636564 204D6963 726F2044 65766963 65732C20 496E632E 20, Advanced Micro Devices, Inc.
\ 000002bc: 0041544F 4D42494F 53424B2D 414D4420 56455230 32302E30 30312E30 30302E30 .ATOMBIOSBK-AMD VER020.001.000.0
\ 000002dc: 34332E30 31353932 39004434 31323031 30302E31 30300032 31393632 36342000 43.015929.D4120100.100.2196264 .
\ 000002fc: 35333836 32382020 00202020 20202020 2000414D 445F4E41 56493231 5F443431 538628 . .AMD_NAVI21_D41
\ 0000031c: 32303130 305F5854 585F4130 5F474444 52365F31 3647425C 636F6E66 69672E68 20100_XTX_A0_GDDR6_16GB\config.h
\ 0000033c: 00000090 2C000203 41544F4D 00C00B26 E6029103 3A023E26 00000000 02103A0E ....,...ATOM...&....:.>&......:.
\ 0000035c: 6C038EA3 C4030000 080B0000 00000300 l...............
\ PCI Data Structure (4 byte aligned)
\ 0000036C: Signature string (PCIR): PCIR
\ 00000370: Vendor ID = config reg 00/01: 1002
\ 00000372: Device ID = config reg 02/03: 73BF
\ 00000374: Pointer to Vital Product Data: 0000
\ 00000376: PCI Data Structure length: 0018
\ 00000378: PCI Data Structure revision: 00 = PCI 2.2
\ 00000379: Class Code = config reg 09/0a/0b: 030000 (Class code / Subclass code / Programming interface code)
\ 0000037C: Image Length in 512 bytes: 0056 (* 0x200 = 0xAC00)
\ 0000037E: Revision Level of Code/Data: 1401
\ 00000380: Code Type: 00 = BIOS
\ 00000381: Indicator: 00 = another image
\ 00000382: Reserved: 0000
\ PCI expansion PROM header
\ 0000AC00: PCI magic number (55AA): 55AA
\ 0000AC02: EFI initialization size in 512 bytes: 004B (* 0x200 = 0x9600)
\ 0000AC04: EFI Signature (00000EF1): 00000EF1
\ 0000AC08: EFI subsystem: 000B = EFI Boot Service Driver
\ 0000AC0A: EFI machine type: 8664 = X64
\ 0000AC0C: EFI compression type: 0001 = Compressed
\ 0000AC0E: EFI reserved (0000000000000000): 0000000000000000
\ 0000AC16: EFI offset to image: 0064
\ 0000AC18: Pointer to start of PCI Data Structure: 001C
\ 0000AC1A: Pad bytes: 0000
\ PCI Data Structure (4 byte aligned)
\ 0000AC1C: Signature string (PCIR): PCIR
\ 0000AC20: Vendor ID = config reg 00/01: 1002
\ 0000AC22: Device ID = config reg 02/03: 73BF
\ 0000AC24: Pointer to Vital Product Data: 0000
\ 0000AC26: PCI Data Structure length: 0018
\ 0000AC28: PCI Data Structure revision: 00 = PCI 2.2
\ 0000AC29: Class Code = config reg 09/0a/0b: 030000 (Class code / Subclass code / Programming interface code)
\ 0000AC2C: Image Length in 512 bytes: 004B (* 0x200 = 0x9600)
\ 0000AC2E: Revision Level of Code/Data: 0000
\ 0000AC30: Code Type: 03 = EFI
\ 0000AC31: Indicator: 00 = another image
\ 0000AC32: Reserved: 0000
\ PCI expansion PROM header
\ 00014200: PCI magic number (55AA): 55AA
\ 00014202: EFI initialization size in 512 bytes: 004E (* 0x200 = 0x9C00)
\ 00014204: EFI Signature (00000EF1): 00000EF1
\ 00014208: EFI subsystem: 000B = EFI Boot Service Driver
\ 0001420A: EFI machine type: AA64 = ARM 64-bit
\ 0001420C: EFI compression type: 0001 = Compressed
\ 0001420E: EFI reserved (0000000000000000): 0000000000000000
\ 00014216: EFI offset to image: 0064
\ 00014218: Pointer to start of PCI Data Structure: 001C
\ 0001421A: Pad bytes: 0000
\ PCI Data Structure (4 byte aligned)
\ 0001421C: Signature string (PCIR): PCIR
\ 00014220: Vendor ID = config reg 00/01: 1002
\ 00014222: Device ID = config reg 02/03: 73BF
\ 00014224: Pointer to Vital Product Data: 0000
\ 00014226: PCI Data Structure length: 0018
\ 00014228: PCI Data Structure revision: 00 = PCI 2.2
\ 00014229: Class Code = config reg 09/0a/0b: 000000 (Class code / Subclass code / Programming interface code)
\ 0001422C: Image Length in 512 bytes: 004E (* 0x200 = 0x9C00)
\ 0001422E: Revision Level of Code/Data: 0000
\ 00014230: Code Type: 03 = EFI
\ 00014231: Indicator: 80 = last image
\ 00014232: Reserved: 0000