diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2020-05-08 13:06:20 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2020-05-15 13:29:05 +0200 |
commit | 1206efcd89e3945cfe29a4b922cb91d3096d984c (patch) | |
tree | fc84a0d7e0bbb1c10d41559fe709da6cac40d754 | |
parent | 8d25ca41c5a146ebd81f442d4e241171db8fe0ae (diff) | |
download | seabios-1206efcd89e3945cfe29a4b922cb91d3096d984c.tar.gz |
qemu: factor out qemu_cfg_detect()
Move qemu fw_cfg detection to separate function.
No functional change.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | src/fw/paravirt.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c index 119280c5..b21f1aef 100644 --- a/src/fw/paravirt.c +++ b/src/fw/paravirt.c @@ -614,10 +614,10 @@ struct QemuCfgFile { char name[56]; }; -void qemu_cfg_init(void) +static int qemu_cfg_detect(void) { - if (!runningOnQEMU()) - return; + if (cfg_enabled) + return 1; // Detect fw_cfg interface. qemu_cfg_select(QEMU_CFG_SIGNATURE); @@ -625,7 +625,7 @@ void qemu_cfg_init(void) int i; for (i = 0; i < 4; i++) if (inb(PORT_QEMU_CFG_DATA) != sig[i]) - return; + return 0; dprintf(1, "Found QEMU fw_cfg\n"); cfg_enabled = 1; @@ -638,6 +638,16 @@ void qemu_cfg_init(void) dprintf(1, "QEMU fw_cfg DMA interface supported\n"); cfg_dma_enabled = 1; } + return 1; +} + +void qemu_cfg_init(void) +{ + if (!runningOnQEMU()) + return; + + if (!qemu_cfg_detect()) + return; // Populate romfiles for legacy fw_cfg entries qemu_cfg_legacy(); |