From 9d98072013d6d0656aeb943030d78fa7f3e3b9bb Mon Sep 17 00:00:00 2001 From: Himbeer Date: Sat, 18 May 2024 23:38:01 +0200 Subject: instructions: Always inline CSR setters --- src/instructions.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/instructions.zig b/src/instructions.zig index 818a35f..2ae53ec 100644 --- a/src/instructions.zig +++ b/src/instructions.zig @@ -48,11 +48,11 @@ pub const setSatp = setCsrFn(paging.Satp, "satp").?; pub const setSscratch = setCsrFn(usize, "sscratch").?; pub const setSepc = setCsrFn(usize, "sepc").?; -pub fn setCsrFn(comptime T: type, csr: []const u8) ?fn (T) void { +pub fn setCsrFn(comptime T: type, csr: []const u8) ?fn (T) callconv(.Inline) void { if (csr.len > 8) return null; return struct { - fn setCsr(value: T) void { + inline fn setCsr(value: T) void { const bits: usize = @bitCast(value); comptime var buf = [_]u8{0} ** 23; -- cgit v1.2.3