summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1716.toml
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
commit4b927bc37359dec23f67d3427fc982945f24f404 (patch)
tree245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_missing/host_missing/accel_missing/1716.toml
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloademulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
emulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1716.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/1716.toml21
1 files changed, 21 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1716.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1716.toml
new file mode 100644
index 00000000..58846ca3
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/1716.toml
@@ -0,0 +1,21 @@
+id = 1716
+title = "Cannot  raise low memory using max-ram-below-4g on current i440fx"
+state = "opened"
+created_at = "2023-06-19T13:28:37.193Z"
+closed_at = "n/a"
+labels = []
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1716"
+host-os = "Ubuntu Linux 23.04"
+host-arch = "x86-64"
+qemu-version = "7.2.0"
+guest-os = "Ubuntu Server 22.04"
+guest-arch = "pc"
+description = """We have a use case where we have a virtual machine with at least 8 Gb of RAM and at least 3.5Gb of it in the low memory. However, I could not achieve it this far with QEMU, only on the deprecated i440fx 1.7 architecture. The size of lowmem is never greater than 3 Gb, except if I assign memory to the vm between 3 Gb and 3.5 Gb. If I go even a slightly above 3.5 Gb then it falls back to 3 Gb.
+
+I did some research and I found the source file hw/i386/pc_piix.c. There is a piece of code which is responsible for setting the low memory at the beginning of function pc_init1(). It seems that the problem lies in the property `gigabyt_align` of all i440fx architectures newer than 1.7. The comment which explains this piece of code does not mention at all that raising lowmem does not work on newer pc architectures. According to the comments setting the size of lowmem based of the `max-ram-below-4g` option should happen before the gigabyte alignment, not after it. Anyway, it does not make sense because with default being 3 Gb gigabyte alignment always means 3 Gb so raising is not possible at all. The last example of the comment clearly states that raising should be possible using the newest `pc` architecture: `qemu -M pc,max-ram-below-4g=4G -m 3968M  -> 3968M low (=4G-128M)`. However, according to the code below the comment this is not the way it works because gigabyte alignment happens after.
+
+To solve the problem there are two possibilities: if this is a bug then the solution is obvious, the gigabyte aligment should happen before applying the `max-ram-below-4g` option. If this is not a bug but the expected way of working then there could be an option to override the `gigabyte_align` attribute from command line.
+
+What do you think?"""
+reproduce = "n/a"
+additional = "n/a"