id = 1159 title = "Strange invalid access errors for very basic OS" state = "closed" created_at = "2022-08-15T15:10:57.699Z" closed_at = "2022-08-18T09:07:37.564Z" labels = ["workflow::Needs Info"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1159" host-os = "Kubuntu 20.04" host-arch = "x86_64" qemu-version = "4.2.1" guest-os = "Custom" guest-arch = "x86_64" description = """Currently I'm studying OS development. I found numerous guides on that topic, however [this one](https://github.com/cfenollosa/os-tutorial/tree/master/01-bootsector-barebones) is most close to what I have been doing. When `.bin` file is launched with `-d guest_errors` flag, before any OS output exactly 512 error messages appear in logs, that look like that: ``` Invalid access at addr 0xFEBB0000, size 1, region '(null)', reason: rejected Invalid access at addr 0x0, size 1, region '(null)', reason: rejected Invalid access at addr 0xFEBB0001, size 1, region '(null)', reason: rejected Invalid access at addr 0x1, size 1, region '(null)', reason: rejected Invalid access at addr 0xFEBB0002, size 1, region '(null)', reason: rejected ... and it goes up to ... Invalid access at addr 0xFEBB00FE, size 1, region '(null)', reason: rejected Invalid access at addr 0xFE, size 1, region '(null)', reason: rejected Invalid access at addr 0xFEBB00FF, size 1, region '(null)', reason: rejected Invalid access at addr 0xFF, size 1, region '(null)', reason: rejected ``` Apparently, the OS boots normally after that. Should I be concerned about these messages or Should I just ignore them? That looks strange and confusing, not a piece of my code calls these addresses. Maybe I'm doing something wrong?""" reproduce = """1. Install `nasm` compiler (nasm package for apt) 2. Create a file named `os.asm` with exactly four lines: ```asm loop: jmp loop times 510-($-$$) db 0 dw 0xaa55 ``` 3. Build it with `nasm -f bin os.asm -o os.bin` 4. Run it with `qemu-system-i386 -d guest_errors -drive format=raw,file=./os.bin` 5. ...enjoy error messages.""" additional = "n/a"