forked from AbleOS/holey-bytes
Erin
79c367dc18
- Changed instruction encoding to be faster to match on - Implemented all instructions defined in spec - Bytecode validation - Assembler - Implemented 5 level paging (based on SV57) - Implemented some degree of interrupts (though not fully adhering the spec yet)
23 lines
410 B
Rust
23 lines
410 B
Rust
#![no_std]
|
|
extern crate alloc;
|
|
|
|
pub mod validate;
|
|
pub mod vm;
|
|
|
|
#[derive(Debug, PartialEq)]
|
|
pub enum RuntimeErrors {
|
|
InvalidOpcodePair(u8, u8),
|
|
RegisterTooSmall,
|
|
HostError(u64),
|
|
PageNotMapped(u64),
|
|
InvalidJumpAddress(u64),
|
|
InvalidSystemCall(u8),
|
|
}
|
|
|
|
// If you solve the halting problem feel free to remove this
|
|
#[derive(PartialEq, Debug)]
|
|
pub enum HaltStatus {
|
|
Halted,
|
|
Running,
|
|
}
|