blob: df26eb3be38bc59d337f2d1466434c27f3859e6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
//! PIC remapping
const io = @import("../asm/io.zig");
const pic = @import("../common/constants/pic.zig");
pub fn remap() void {
io.out_byte(pic.MASTER_CMD, pic.ICW1_INIT);
io.out_byte(pic.SLAVE_CMD, pic.ICW1_INIT);
io.out_byte(pic.MASTER_DATA, pic.MASTER_OFFSET);
io.out_byte(pic.SLAVE_DATA, pic.SLAVE_OFFSET);
io.out_byte(pic.MASTER_DATA, pic.MASTER_CASCADE);
io.out_byte(pic.SLAVE_DATA, pic.SLAVE_CASCADE);
io.out_byte(pic.MASTER_DATA, pic.ICW4_8086);
io.out_byte(pic.SLAVE_DATA, pic.ICW4_8086);
io.out_byte(pic.MASTER_DATA, pic.MASK_TIMER_KEYBOARD);
io.out_byte(pic.SLAVE_DATA, pic.MASK_ALL);
}
pub fn send_eoi_master() void {
io.out_byte(pic.MASTER_CMD, pic.EOI);
}
pub fn send_eoi_slave() void {
io.out_byte(pic.SLAVE_CMD, pic.EOI);
io.out_byte(pic.MASTER_CMD, pic.EOI);
}
|