diff options
author | Clyne Sullivan <clyne@bitgloo.com> | 2024-10-06 10:17:57 -0400 |
---|---|---|
committer | Clyne Sullivan <clyne@bitgloo.com> | 2024-10-06 10:17:57 -0400 |
commit | 64df2e9f313ca8b22310f839ab50f7ec2628ec25 (patch) | |
tree | 7413571367251929535d53111934e2c19efad060 | |
parent | c539462ef74b2d385c348cf84f0117c4f6fa2945 (diff) |
clean up vtor set
-rw-r--r-- | src/interrupt.zig | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/interrupt.zig b/src/interrupt.zig index 60faec6..2fe1671 100644 --- a/src/interrupt.zig +++ b/src/interrupt.zig @@ -1,5 +1,6 @@ -var vector_table: [256] *const fn () void = undefined; -var vtor: *u32 = @ptrFromInt(0xE000ED08); +const vector_table_type = [256] *const fn () void; +var vector_table: vector_table_type = undefined; +var vtor: **volatile vector_table_type = @ptrFromInt(0xE000ED08); pub const vector = enum(u8) { NMI = 2, @@ -25,7 +26,7 @@ pub fn initialize() void { register(.BusFault, busfault); register(.UsageFault, usagefault); - vtor.* = @as(u32, @intFromPtr(&vector_table)); + vtor.* = &vector_table; } pub fn register(index: vector, handler: *const fn () void) void { |