chore: update to latest builtin syntax

This commit is contained in:
2023-07-10 22:00:59 -05:00
parent 90d5c19e01
commit f8c2479ed9
15 changed files with 69 additions and 73 deletions

View File

@@ -64,71 +64,69 @@ pub const Bus = struct {
std.debug.assert(info.Pointer.size == .One); // Single-Item Pointer
std.debug.assert(@typeInfo(info.Pointer.child) == .Struct); // Pointer Child is a `struct`
const alignment = info.Pointer.alignment;
const impl = struct {
fn read8(ptr: *anyopaque, address: u32) u8 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.read(u8, address);
}
fn read16(ptr: *anyopaque, address: u32) u16 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.read(u16, address);
}
fn read32(ptr: *anyopaque, address: u32) u32 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.read(u32, address);
}
fn write8(ptr: *anyopaque, address: u32, value: u8) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.write(u8, address, value);
}
fn write16(ptr: *anyopaque, address: u32, value: u16) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.write(u16, address, value);
}
fn write32(ptr: *anyopaque, address: u32, value: u32) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.write(u32, address, value);
}
fn dbgRead8(ptr: *anyopaque, address: u32) u8 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.dbgRead(u8, address);
}
fn dbgRead16(ptr: *anyopaque, address: u32) u16 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.dbgRead(u16, address);
}
fn dbgRead32(ptr: *anyopaque, address: u32) u32 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.dbgRead(u32, address);
}
fn dbgWrite8(ptr: *anyopaque, address: u32, value: u8) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.dbgWrite(u8, address, value);
}
fn dbgWrite16(ptr: *anyopaque, address: u32, value: u16) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.dbgWrite(u16, address, value);
}
fn dbgWrite32(ptr: *anyopaque, address: u32, value: u32) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.dbgWrite(u32, address, value);
}
fn reset(ptr: *anyopaque) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.reset();
}
};
@@ -213,16 +211,14 @@ pub const Scheduler = struct {
std.debug.assert(info.Pointer.size == .One); // Single-Item Pointer
std.debug.assert(@typeInfo(info.Pointer.child) == .Struct); // Pointer Child is a `struct`
const alignment = info.Pointer.alignment;
const impl = struct {
fn now(ptr: *anyopaque) u64 {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
return self.now();
}
fn reset(ptr: *anyopaque) void {
const self = @ptrCast(P, @alignCast(alignment, ptr));
const self: P = @ptrCast(@alignCast(ptr));
self.reset();
}
};