add missing firmware configuration channel numbers to BIOS
PATCH 1/1 add missing firmware configuration channel numbers to BIOS
Hi,
although we currently don't use firmware config channel numbers higher than '0x02' in the PC-BIOS, add the channel names to the BIOS source to mark already used entries. This will make picking new number easier in the future.
Regards,
Andre.
---
From: Andre Przywara <[email protected]>
sync firmware configuration channel numbers between QEMU and BIOS
pc-bios/bios-pq/0006_fw_cfg_sync.patch new file +19 -0
@@ -0,0 +1,19 @@ +From: Andre Przywara <[email protected]> + + add missing qemu firmware configuration inferface channel numbers + +diff --git a/bios/rombios32.c b/bios/rombios32.c +index f81b269..3d42528 100644 +--- a/bios/rombios32.c ++++ b/bios/rombios32.c +@@ -413,6 +413,10 @@ unsigned long bios_table_end_addr; + #define QEMU_CFG_SIGNATURE 0x00 + #define QEMU_CFG_ID 0x01 + #define QEMU_CFG_UUID 0x02 ++#define QEMU_CFG_RAM_SIZE 0x03 ++#define QEMU_CFG_NOGRAPHIC 0x04 ++#define QEMU_CFG_NB_CPUS 0x05 ++#define QEMU_CFG_MACHINE_ID 0x06 + + int qemu_cfg_port; +
pc-bios/bios-pq/series +1 -0
@@ -2,3 +2,4 @@ 0002_e820-high-mem.patch 0003_smp-startup-poll.patch 0005_hpet.patch +0006_fw_cfg_sync.patch
Quoted 6 lines · Andre Przywara
Hi,
although we currently don't use firmware config channel numbers higher than '
0x02' in the PC-BIOS, add the channel names to the BIOS source to mark already used entries. This will make picking new number easier in the future.
Isn't it possible to use fw_cfg.h directly? To get just the constants, you can use NO_QEMU_PROTOS.
This is how it is used in OpenBIOS/Sparc64 as an example:
http://tracker.coreboot.org/trac/openbios/browser/openbios-devel/arch/sparc64/entry.S#L14
http://tracker.coreboot.org/trac/openbios/browser/openbios-devel/arch/sparc64/openbios.c#L29
Quoted 8 lines · Blue Swirl
Quoted 5 lines
although we currently don't use firmware config channel numbers higher than '
0x02' in the PC-BIOS, add the channel names to the BIOS source to mark already used entries. This will make picking new number easier in the future.Isn't it possible to use
fw_cfg.hdirectly? To get just the constants, you can useNO_QEMU_PROTOS.
Nice idea, but this would require to have the QEMU sources directly available when building the BIOS ROM. This is not a real problem, but would require to pull in the QEMU source path from the BOCHS autotools Makefile (with what default? Revert to the current code if no QEMU source path is given?). Currently you can build the BIOS independently with just the QEMU patches applied. If you (or Anthony) think this OK, I'd prepare a patch for this.
Regards,
Andre.
Quoted 7 lines
This is how it is used in OpenBIOS/Sparc64 as an example:
http://tracker.coreboot.org/trac/openbios/browser/openbios-devel/arch/sparc64/entry.S#L14
http://tracker.coreboot.org/trac/openbios/browser/openbios-devel/arch/sparc64/openbios.c#L29
Quoted 13 lines · Andre Przywara
Quoted 11 lines · Blue Swirl
Quoted 7 lines
although we currently don't use firmware config channel numbers higher than '
0x02' in the PC-BIOS, add the channel names to the BIOS source to mark already used entries. This will make picking new number easier in the future.Isn't it possible to use
fw_cfg.hdirectly? To get just the constants, you can useNO_QEMU_PROTOS.
Quoted 7 lines
Nice idea, but this would require to have the QEMU sources directly
available when building the BIOS ROM. This is not a real problem, but would require to pull in the QEMU source path from the BOCHS autotoolsMakefile(with what default? Revert to the current code if no QEMU source path is given?). Currently you can build the BIOS independently with just the QEMU patches applied. If you (or Anthony) think this OK, I'd prepare a patch for this.
I'd just copy fw_cfg.h to BOCHS directory so that rombios32.c can include it and remove the current #defines. That way Qemu sources are not needed.