summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1389.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/1389.toml
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloadqemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
qemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1389.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/1389.toml69
1 files changed, 69 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1389.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1389.toml
new file mode 100644
index 000000000..86449646e
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/1389.toml
@@ -0,0 +1,69 @@
+id = 1389
+title = "Qemu 7.2.0 My hobbby bootloader seemed to stop working"
+state = "closed"
+created_at = "2022-12-22T17:13:25.813Z"
+closed_at = "2022-12-22T20:15:47.951Z"
+labels = []
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1389"
+host-os = "Tried on Ubuntu and MacOS"
+host-arch = "x86"
+qemu-version = "QEMU emulator version 7.0.0 (Debian 1:7.0+dfsg-7ubuntu2.1) WORKS --- QEMU emulator version 7.2.0 DOESNT WORK"
+guest-os = "n/a"
+guest-arch = "x86"
+description = """I wrote a BIOS bootloader and OS, but updated to QEMU 7.2.0 and now I get an exception in my bootloader.
+Specifically I am getting a page fault on the first line of map_pd:
+```
+next_pdpt:
+    ; PDPT
+    mov [0xa000 + rdx * 8], rax ; PDPT[rdx] -> PD
+    and al, 0xfc ;; clear bits 1 and 2
+
+    mov rcx, 0
+map_pd:
+    mov [rax + rcx * 8], rdi ; PD[rcx] -> rax
+    add rdi, 0x200000 ; maps first 512 * 0x200000 or 1 GiB
+    sub rsi, 1
+    cmp rsi, 0
+    je done_map_rest
+
+    add rcx, 1
+    cmp rcx, 512
+    jb map_pd
+
+    add rdx, 1 ; do next GiB
+    add rax, 0x1000 ; next PD
+    or rax, (1 | 2)
+
+    jmp next_pdpt
+```
+I am getting the exception:
+```
+check_exception old: 0xffffffff new 0xe
+     0: v=0e e=0002 i=0 cpl=0 IP=0008:0000000000001311 pc=0000000000001311 SP=0010:0000000000007bf8 CR2=000000000020c000
+RAX=000000000020c000 RBX=00000000000b8040 RCX=0000000000000000 RDX=0000000000000201
+RSI=000000000003fe00 RDI=0000008040000083 RBP=0000000000000008 RSP=0000000000007bf8
+R8 =0000000000000000 R9 =0000000000000000 R10=0000000000000000 R11=0000000000000000
+R12=0000000000000000 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000
+RIP=0000000000001311 RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
+ES =0010 0000000000000000 00000000 00009300 DPL=0 DS   [-WA]
+CS =0008 0000000000000000 00000000 00209a00 DPL=0 CS64 [-R-]
+SS =0010 0000000000000000 00000000 00009300 DPL=0 DS   [-WA]
+DS =0010 0000000000000000 00000000 00009300 DPL=0 DS   [-WA]
+FS =0010 0000000000000000 00000000 00009300 DPL=0 DS   [-WA]
+GS =0010 0000000000000000 00000000 00009300 DPL=0 DS   [-WA]
+LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
+TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy
+GDT=     0000000000001888 00000018
+IDT=     0000000090909000 00000000
+CR0=80000011 CR2=000000000020c000 CR3=0000000000009000 CR4=00000020
+DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 
+DR6=00000000ffff0ff0 DR7=0000000000000400
+CCS=0000000000000200 CCD=0000000000000000 CCO=LOGICB
+EFER=0000000000000500
+```
+
+I am able to read the 0x20c000 address with gdb"""
+reproduce = """1. clone and build https://github.com/darbysauter/myOS
+2. run with `make run` on 7.0.0
+3. run with `make run` on 7.2.0 and there is an exception"""
+additional = """I looked through the changelogs from 7.1 and 7.2 and nothing stood out to me. Not sure if some behaviour changed or some default changed."""