summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/i386/1159
blob: 70500cd6d4d989455621bd1ea4ea066820393393 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
i386: 0.928
graphic: 0.826
device: 0.655
boot: 0.611
x86: 0.606
PID: 0.506
vnc: 0.502
socket: 0.497
kernel: 0.482
files: 0.465
debug: 0.464
network: 0.456
register: 0.428
ppc: 0.390
permissions: 0.343
risc-v: 0.319
performance: 0.284
architecture: 0.283
semantic: 0.281
VMM: 0.274
arm: 0.269
assembly: 0.268
hypervisor: 0.267
TCG: 0.242
user-level: 0.206
KVM: 0.206
peripherals: 0.181
mistranslation: 0.127
virtual: 0.127

Strange invalid access errors for very basic OS
Description of problem:
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?
Steps to 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.