summary refs log tree commit diff stats
path: root/gitlab/issues/target_i386/host_missing/accel_HVF/664.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_i386/host_missing/accel_HVF/664.toml')
-rw-r--r--gitlab/issues/target_i386/host_missing/accel_HVF/664.toml22
1 files changed, 22 insertions, 0 deletions
diff --git a/gitlab/issues/target_i386/host_missing/accel_HVF/664.toml b/gitlab/issues/target_i386/host_missing/accel_HVF/664.toml
new file mode 100644
index 00000000..67c78007
--- /dev/null
+++ b/gitlab/issues/target_i386/host_missing/accel_HVF/664.toml
@@ -0,0 +1,22 @@
+id = 664
+title = "hvf-accelerated x86_64 incorrectly reports virtual address bit width via CPUID"
+state = "opened"
+created_at = "2021-10-11T21:56:41.679Z"
+closed_at = "n/a"
+labels = ["accel: HVF", "target: i386"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/664"
+host-os = "macOS 10.14.6"
+host-arch = "x86_64"
+qemu-version = "QEMU emulator version 6.0.0"
+guest-os = "SerenityOS (https://github.com/SerenityOS/serenity/)"
+guest-arch = "x86_64"
+description = """When running qemu-system-x86_64 with hvf acceleration enabled the maximum extended cpuid function (available via EAX=0x80000000) is reported to be 0x80000001, which means that physical address and virtual address bit width (which is supposed to be reported via EAX=0x80000008) is not available. As per the intel IA32/64 manual: `Processors that do not support CPUID function 80000008H, support a linear-address width of 32.`, while in actuality qemu-system-x86_64 with hvf acceleration supports virtual addresses of up to 48 bit in width, like most modern x86_64 processors."""
+reproduce = """This can be observed when running SerenityOS on x86_64 qemu with hvf acceleration based on the following dmesg lines:
+```
+[Kernel]: CPU[0]: Physical address bit width: 36
+[Kernel]: CPU[0]: Virtual address bit width: 32
+```
+But can also be reproduced by running the CPUID instruction with EAX set to 0x80000000 and observing that the returned value is 0x80000001."""
+additional = """The best way to resolve this as far as I can tell is to expose the 0x80000008 CPUID function and report the real values.
+
+NOTE: This is a report of the underlying bug that was found during the investigation of an issue raised in the SerenityOS repository, see https://github.com/SerenityOS/serenity/issues/10382 for more information."""