summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1159.toml
blob: e0885f853f810c78c7951121d7a36521b82ec521 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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"