[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5] limit physical address space size
|
From: |
Gerd Hoffmann |
|
Subject: |
[PATCH v5] limit physical address space size |
|
Date: |
Tue, 7 Nov 2023 14:03:09 +0100 |
For better compatibility with old linux kernels,
see source code comment.
Related (same problem in ovmf):
https://github.com/tianocore/edk2/commit/c1e853769046
Cc: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
src/fw/paravirt.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index e5d4eca0cb5a..a2c9c64d5e78 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -182,6 +182,14 @@ static void physbits(int qemu_quirk)
__func__, signature, pae ? "yes" : "no", CPULongMode ? "yes" :
"no",
physbits, valid ? "yes" : "no");
+ if (valid && physbits > 46) {
+ // Old linux kernels have trouble dealing with more than 46
+ // phys-bits, so avoid that for now. Seems to be a bug in the
+ // virtio-pci driver. Reported: centos-7, ubuntu-18.04
+ dprintf(1, "%s: using phys-bits=46 (old linux kernel
compatibility)\n", __func__);
+ physbits = 46;
+ }
+
if (valid)
CPUPhysBits = physbits;
}
--
2.41.0
- [PATCH v5] limit physical address space size,
Gerd Hoffmann <=