aboutsummaryrefslogtreecommitdiff
path: root/event-loop-base.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-06-20 16:49:35 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-06-29 10:49:43 +0200
commit40a205da415e9c10ff02505078700e14ead77092 (patch)
tree3b55730d2d0541dcecddbcfc39d40e58744a2b4f /event-loop-base.c
parentd903259dd2dbe40e007db1724dd072c5e210b3f4 (diff)
target/i386: emulate 64-bit ring 0 for linux-user if LM feature is set
32-bit binaries can run on a long mode processor even if the kernel is 64-bit, of course, and this can have slightly different behavior; for example, SYSCALL is allowed on Intel processors. Allow reporting LM to programs running under user mode emulation, so that "-cpu" can be used with named CPU models even for qemu-i386 and even without disabling LM by hand. Fortunately, most of the runtime code in QEMU has to depend on HF_LMA_MASK or on HF_CS64_MASK (which is anyway false for qemu-i386's 32-bit code segment) rather than TARGET_X86_64, therefore all that is needed is an update of linux-user's ring 0 setup. Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1534 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'event-loop-base.c')
0 files changed, 0 insertions, 0 deletions