diff options
Diffstat (limited to 'results/classifier/108/other/1159')
| -rw-r--r-- | results/classifier/108/other/1159 | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/results/classifier/108/other/1159 b/results/classifier/108/other/1159 new file mode 100644 index 000000000..240352867 --- /dev/null +++ b/results/classifier/108/other/1159 @@ -0,0 +1,47 @@ +graphic: 0.826 +device: 0.655 +boot: 0.611 +PID: 0.506 +vnc: 0.502 +socket: 0.497 +files: 0.465 +debug: 0.464 +network: 0.456 +permissions: 0.343 +performance: 0.284 +semantic: 0.281 +KVM: 0.206 +other: 0.055 + +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. |