aboutsummaryrefslogtreecommitdiff
path: root/mirai/interrupts/load/lidt.zig
blob: 926518d5fd94bd0eb360b2646cac6be2351abc00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! LIDT Operations

const types = @import("../types/types.zig");
const table = @import("../table/table.zig");
const asm_int = @import("../../asm/interrupts/interrupts.zig");

pub fn lidt(desc: *const types.Descriptor) void {
    asm_int.lidt(desc);
}

pub fn load() void {
    const desc = types.Descriptor.from_table(&table.entries.entries);
    lidt(&desc);
}

pub fn sidt() types.Descriptor {
    var desc: types.Descriptor = undefined;
    asm_int.sidt(&desc);
    return desc;
}