Alek Ratzloff bff9220fb1 Extend how interrupts are reported to the main execution loop
Some things that were previously hard VM-level errors are now handled by
interrupts. While this is relatively easy to handle, I was wanting a
little more structure for the error types - so, errors that should
invoke an interrupt are passed along in their own structure in a
VmError::Interrupt variant. If an error is raised during the tick()
phase of execution that would cause an interrupt, that interrupt is
intercepted and the VM continues.

The State::interrupt() function also will catch double faults and triple
faults, with a triple fault being its own variant in the VmError
structure (so it cannot be intercepted as an interrupt by accident).

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2020-03-12 16:56:20 -04:00
2020-01-25 19:17:39 -05:00
2020-03-09 16:47:38 -04:00
2020-03-09 16:38:41 -04:00
2020-03-09 16:38:41 -04:00
Description
No description provided
1.9 MiB
Languages
Rust 85.9%
Assembly 5.9%
Yacc 5.4%
Roff 2.4%
Shell 0.4%