Implement a GDBSTUB Server #6

Merged
paoda merged 9 commits from gdbstub into main 2023-02-23 22:18:27 +00:00
3 changed files with 7 additions and 5 deletions
Showing only changes of commit 518b868249 - Show all commits

@ -1 +1 @@
Subproject commit 81ff227ea76d5b44a89e422e380e0fe15aec02aa Subproject commit d7b8d7acb15ce3518480c59218bf2c0a17fa529f

View File

@ -166,6 +166,7 @@ fn spinLoop(timer: *Timer, wake_time: u64) void {
pub const EmuThing = struct { pub const EmuThing = struct {
const Self = @This(); const Self = @This();
const Interface = @import("gdbstub").Emulator; const Interface = @import("gdbstub").Emulator;
const Allocator = std.mem.Allocator;
cpu: *Arm7tdmi, cpu: *Arm7tdmi,
scheduler: *Scheduler, scheduler: *Scheduler,
@ -174,8 +175,8 @@ pub const EmuThing = struct {
return .{ .cpu = cpu, .scheduler = scheduler }; return .{ .cpu = cpu, .scheduler = scheduler };
} }
pub fn interface(self: *Self) Interface { pub fn interface(self: *Self, allocator: Allocator) Interface {
return Interface.init(self); return Interface.init(allocator, self);
} }
pub fn read(self: *const Self, addr: u32) u8 { pub fn read(self: *const Self, addr: u32) u8 {

View File

@ -92,8 +92,9 @@ pub fn main() void {
const Server = @import("gdbstub").Server; const Server = @import("gdbstub").Server;
const EmuThing = @import("core/emu.zig").EmuThing; const EmuThing = @import("core/emu.zig").EmuThing;
var emu_thing = EmuThing.init(&cpu, &scheduler); var wrapper = EmuThing.init(&cpu, &scheduler);
const emulator = emu_thing.interface(); var emulator = wrapper.interface(allocator);
defer emulator.deinit();
{ {
const frames_per_second: usize = 60; const frames_per_second: usize = 60;