aboutsummaryrefslogtreecommitdiff
path: root/src/system.rs
diff options
context:
space:
mode:
authorDavid Li <li.davidm96@gmail.com>2016-01-14 15:57:12 -0700
committerDavid Li <li.davidm96@gmail.com>2016-01-14 15:57:12 -0700
commit5600ebffdf12117d398476f93897a8cc289eb468 (patch)
tree3a8fd401efb4de13704970f715e61adeec7a61a3 /src/system.rs
parent367a945a6a921e4580bb7c1d8bd1db51de0dec2f (diff)
Match rustv refactor, check traps properly
Diffstat (limited to 'src/system.rs')
-rw-r--r--src/system.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/system.rs b/src/system.rs
index c0343bb..a69beb4 100644
--- a/src/system.rs
+++ b/src/system.rs
@@ -34,11 +34,11 @@ impl<'a> SyscallHandler<'a> {
loop {
let c = self.memory.borrow_mut().read_byte(base);
- if let Ok(0x00) = c {
+ if let Ok(isa::Byte(0x00)) = c {
break;
}
else if let Ok(c) = c {
- string.push(c);
+ string.push(c.0);
}
base += 1;
@@ -81,7 +81,7 @@ impl<'a> syscall::SyscallHandler for SyscallHandler<'a> {
registers: &mut RegisterFile, mmu: &Mmu) -> Option<Trap> {
let syscall_number = registers.read_word(isa::Register::X10);
- match syscall_number {
+ match syscall_number.0 {
22 => self.prints(registers),
23 => self.printi(registers),
24 => self.enable_secondary(core_id),