aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2020-05-08 13:06:20 +0200
committerGerd Hoffmann <kraxel@redhat.com>2020-05-15 13:29:05 +0200
commit1206efcd89e3945cfe29a4b922cb91d3096d984c (patch)
treefc84a0d7e0bbb1c10d41559fe709da6cac40d754
parent8d25ca41c5a146ebd81f442d4e241171db8fe0ae (diff)
downloadseabios-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.c18
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();