- Try writing to that damn well protected address 0! Just remember that you're overwriting a 16-bit heirloom. You have enough powers to dig it up and see that it still works - if you start early enough in the bootloader. (It's only 512 bytes - you can read it!)
- Try to
asm("cli;hlt")
in a userspace program - then try it in IncludeOS, directly on KVM/VirtualBox. Explain to the duck exactly what's going on - and he'll tell you why Intel made VT-x (Yes IBM was way behind Alan Turing). That's a virtualization gold nugget in reward of your mischief. - Now try it in IncludeOS inside a virtualBox VM. Explain that to the duck!
- Ever wondered what would happen if you
throw FryingPan
inside a (real) interrupt handler - or better yet - a std::Exception inside a CPU Exception handler? (Hey - maybe that way we couldcatch
division by zero Exception?) You have the means to try!
What if we protect the memory segment of the .rodata of the OS?