feat: Get ZBA working on Zig's new stage2/stage3 compiler
This commit is contained in:
parent
1471288969
commit
4b6897aedf
|
@ -1 +1 @@
|
|||
Subproject commit 401c50ff3d0b83ad4bd89caf580ce1bd90fb5618
|
||||
Subproject commit d66925011971fbe221fc2a7f7cb4cd8c181d9ba3
|
|
@ -14,7 +14,7 @@ fn PtrCastPreserveCV(comptime T: type, comptime PtrToT: type, comptime NewT: typ
|
|||
fn BitType(comptime FieldType: type, comptime ValueType: type, comptime shamt: usize) type {
|
||||
const self_bit: FieldType = (1 << shamt);
|
||||
|
||||
return struct {
|
||||
return extern struct {
|
||||
bits: Bitfield(FieldType, shamt, 1),
|
||||
|
||||
pub fn set(self: anytype) void {
|
||||
|
@ -63,7 +63,7 @@ pub fn Bitfield(comptime FieldType: type, comptime shamt: usize, comptime num_bi
|
|||
|
||||
const ValueType = std.meta.Int(.unsigned, num_bits);
|
||||
|
||||
return struct {
|
||||
return extern struct {
|
||||
dummy: FieldType,
|
||||
|
||||
fn field(self: anytype) PtrCastPreserveCV(@This(), @TypeOf(self), FieldType) {
|
||||
|
|
|
@ -12,7 +12,7 @@ const File = std.fs.File;
|
|||
|
||||
// ARM Instructions
|
||||
pub const arm = struct {
|
||||
pub const InstrFn = fn (*Arm7tdmi, *Bus, u32) void;
|
||||
pub const InstrFn = *const fn (*Arm7tdmi, *Bus, u32) void;
|
||||
const lut: [0x1000]InstrFn = populate();
|
||||
|
||||
const processing = @import("cpu/arm/data_processing.zig").dataProcessing;
|
||||
|
@ -110,7 +110,7 @@ pub const arm = struct {
|
|||
|
||||
// THUMB Instructions
|
||||
pub const thumb = struct {
|
||||
pub const InstrFn = fn (*Arm7tdmi, *Bus, u16) void;
|
||||
pub const InstrFn = *const fn (*Arm7tdmi, *Bus, u16) void;
|
||||
const lut: [0x400]InstrFn = populate();
|
||||
|
||||
const processing = @import("cpu/thumb/data_processing.zig");
|
||||
|
|
Loading…
Reference in New Issue