_Rob wrote on 2023-02-23, 16:07:
The IBM PC Server 704 was a quad-socket PentiumPro server with PCI and EISA. I remember the box from back in the day. I don't think you want to use any BIOS meant for that system into some random motherboard.
For those curious about IBM selling an EISA system... IBM never made the system themselves, they just rebranded a server made by someone else (I think Intel?). I recall that you could get the same server from other PC vendors with a different badge on it.
The system emulated is actually a full implementation of the 704 chipset (according to documentation). The main difference between a real one(which is emulated normally, but in this case it's emulating two motherboards at the same time for POSTing (using the i440fx emulation) being required to be able to boot the floppy and start the flashing process) is that it's emulating both the 704 chipset and i440fx chipset (on different PCI devices). The boot-required PCI configuration of the i440fx is mirrored to the i450gx PCI space (modifying one modifies the other). So if software modifies ROM mapping on the i440fx, the i450gx gets a copy in it's registers and vise-versa. So changes to both chipsets get applied (for example mapping BIOS RAM as ROM (F0000 area block) instead of PCI on one performs (mirrors) the same action on the other motherboard. This is done for all emulated functions present on both motherboards.
The flash memory otoh behaves a bit special in this special i440fx-on-i450gx emulation mode. If the flash is write-unprotected on the i440fx (meaning it's being flashed by the i440fx BIOS itself), it will behave as the i440fx BIOS (effecting it's documented chip's blocks bordering 4GB address (FFFFFFFFh down to it's chip size) during erase commands and related commands. That allows the BIOS to set-up required ACPI tables during the boot process.
If however, the write-protect on the i440fx is enabled, the flash ROM is switched to i450gx-compatible mode. This means it starts responding as the 512KB flash ROM chip instead. That chip instead doesn't use any software-controlled write-protect, instead using the write-protect set by the emulated jumpers (from the emulator settings), which affect boot-block write protection(although all chips do that) and generic chip write-protection (making the entire chip not respond to writes by the CPU).
As the boot block is unprotected (required for the full flash) and the chip is made writeable (required for the flashing utility to detect and flash) in the emulator settings, when the flashing utility starts, it should theoretically have all it needs (the i450gx motherboard chipset is present and functional (although i440fx BIOS is still running the show from it's 512KB flash chip using the emulated i440fx mirror chipset)) and the i450gx flash chip should report itself as such).
Is there anything else required for the flash tool to start flashing using the i450gx flash chip, other than the PCI chipset (and it's southbridge) and flash ROM?