Skip to contentSkip to conversation

add missing firmware configuration channel numbers to BIOS

PATCH In review Andre Przywara 2 participants 4 messages Dec 21, 2008 – Dec 22, 2008

lore
Share & tools
lore
#0 lore raw

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
new file mode 100644
index 0000000..9f958c0
@@ -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
index 0e7558c..bf40a88 100644
@@ -2,3 +2,4 @@
 0002_e820-high-mem.patch
 0003_smp-startup-poll.patch
 0005_hpet.patch
+0006_fw_cfg_sync.patch
#1 lore raw
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

#2 lore raw
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.h directly? To get just the constants, you can use NO_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

#3 lore raw
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.h directly? To get just the constants, you can use NO_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 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.

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.