diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:07 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:17 +0200 |
| commit | 9260319e7411ff8281700a532caa436f40120ec4 (patch) | |
| tree | 2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues/target_missing/host_missing/accel_missing/2959.toml | |
| parent | 225caa38269323af1bfc2daadff5ec8bd930747f (diff) | |
| download | qemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.tar.gz qemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.zip | |
gitlab scraper: download in toml and text format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2959.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/2959.toml | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2959.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2959.toml deleted file mode 100644 index 431c47f05..000000000 --- a/gitlab/issues/target_missing/host_missing/accel_missing/2959.toml +++ /dev/null @@ -1,85 +0,0 @@ -id = 2959 -title = "int 0x10 teletype output cuts final character in custom MBR on QEMU (i386 real mode)" -state = "opened" -created_at = "2025-05-09T05:37:00.393Z" -closed_at = "n/a" -labels = [] -url = "https://gitlab.com/qemu-project/qemu/-/issues/2959" -host-os = "Ubuntu 12 (x86)" -host-arch = "x86" -qemu-version = "QEMU emulator version 7.2.15 (Debian 1:7.2+dfsg-7+deb12u12)" -guest-os = "n/a" -guest-arch = "n/a" -description = """When using QEMU to test a custom bootloader in 16-bit real mode (i386), the BIOS interrupt `int 0x10` with AH=0x0E (teletype output) fails to display the last character of the printed message. For example, printing `"hello"` only renders `"hell"`. - -This happens only with this exact combination: - -real mode `int 0x10` teletype output - -message ends with `13, 10, 0` - -`QEMU` output cuts off the last character consistently - -All buffer and code logic has been verified to be correct. The same code, when run on Bochs or physical hardware, prints properly.""" -reproduce = """1.Assemble the following boot.asm: -```nasm -[org 0x7C00] -[BITS 16] - -_start: - cli - xor ax, ax - mov ds, ax - mov es, ax - mov ss, ax - mov sp, 0x7C00 - - mov si, msg - call print - - hlt - jmp $ - -print: - pusha -.loop: - lodsb - or al, al - jz .done - mov ah, 0x0E - int 0x10 - jmp .loop -.done: - popa - ret - -msg db 'hello', 13, 10, 0 -times 510 - ($ - $$) db 0 -dw 0xAA55 -``` - -2. Compile and run: -```bash -$ nasm -f bin boot.asm -o boot.img -$ qemu-system-i386 -nographic -boot a -drive format=raw,file=boot.img,index=0,if=floppy -``` - -3. Output will be: -```text -Booting from Floppy... -hell -``` -Expected output: -```text -Booting from Floppy... -hello -```""" -additional = """- Adding padding (extra 13, 10) does not solve the problem. - -- Confirmed that boot.img includes all bytes (xxd dump is correct). - -- Tested on multiple machines with same QEMU version. - -- May relate to VGA character output buffer not flushing after last INT 0x10? - -- This makes QEMU inaccurate for BIOS-level debugging of bootloaders.""" |