aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClyne Sullivan <clyne@bitgloo.com>2024-10-06 10:17:57 -0400
committerClyne Sullivan <clyne@bitgloo.com>2024-10-06 10:17:57 -0400
commit64df2e9f313ca8b22310f839ab50f7ec2628ec25 (patch)
tree7413571367251929535d53111934e2c19efad060
parentc539462ef74b2d385c348cf84f0117c4f6fa2945 (diff)
clean up vtor set
-rw-r--r--src/interrupt.zig7
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 {