| ... | @@ -122,8 +122,9 @@ pub const Syscall = enum(usize) { | ... | @@ -122,8 +122,9 @@ pub const Syscall = enum(usize) { |
| 122 | receive = 2, | 122 | receive = 2, |
| 123 | subscribeIRQ = 3, | 123 | subscribeIRQ = 3, |
| 124 | inb = 4, | 124 | inb = 4, |
| 125 | map = 5, | 125 | outb = 5, |
| 126 | createThread = 6, | 126 | map = 6, |
| | 127 | createThread = 7, |
| 127 | }; | 128 | }; |
| 128 | | 129 | |
| 129 | | 130 | |
| ... | @@ -152,6 +153,10 @@ pub fn inb(port: u16) u8 { | ... | @@ -152,6 +153,10 @@ pub fn inb(port: u16) u8 { |
| 152 | return u8(syscall1(Syscall.inb, port)); | 153 | return u8(syscall1(Syscall.inb, port)); |
| 153 | } | 154 | } |
| 154 | | 155 | |
| | 156 | pub fn outb(port: u16, value: u8) void { |
| | 157 | _ = syscall2(Syscall.outb, port, value); |
| | 158 | } |
| | 159 | |
| 155 | pub fn map(v_addr: usize, p_addr: usize, size: usize, writable: bool) bool { | 160 | pub fn map(v_addr: usize, p_addr: usize, size: usize, writable: bool) bool { |
| 156 | return syscall4(Syscall.map, v_addr, p_addr, size, usize(writable)) != 0; | 161 | return syscall4(Syscall.map, v_addr, p_addr, size, usize(writable)) != 0; |
| 157 | } | 162 | } |