aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2024-11-13 13:44:26 +0100
committerGerd Hoffmann <kraxel@redhat.com>2024-11-15 12:26:04 +0100
commit2a93c2765b790e14492549cca0e93e7546ae86b6 (patch)
tree12ae20ec6a5dc9865c89ac55d1090dd28a429f66
parent62a1429ec1ec67f14c039d97627a6a7ef70a983c (diff)
downloadseabios-2a93c2765b790e14492549cca0e93e7546ae86b6.tar.gz
add guest hint variable
This holds the hint whenever the guest is 32-bit or 64-bit, so seabios can optimize the memory layout (pci bar placement) accordingly. Default is '32' for best backward compatibility. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--src/fw/paravirt.c2
-rw-r--r--src/fw/paravirt.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index e5d4eca0..fbd00f1c 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -36,6 +36,8 @@ u64 RamSizeOver4G;
u8 CPUPhysBits;
// 64bit processor
u8 CPULongMode;
+// memory layout hint (32bit or 64bit guests).
+u8 GuestHint = 32;
// Type of emulator platform.
int PlatformRunningOn VARFSEG;
// cfg enabled
diff --git a/src/fw/paravirt.h b/src/fw/paravirt.h
index 62a2cd07..cf28528e 100644
--- a/src/fw/paravirt.h
+++ b/src/fw/paravirt.h
@@ -33,6 +33,7 @@ extern u64 RamSizeOver4G;
extern int PlatformRunningOn;
extern u8 CPUPhysBits;
extern u8 CPULongMode;
+extern u8 GuestHint;
static inline int runningOnQEMU(void) {
return CONFIG_QEMU || (