Return register info

This commit is contained in:
2025-01-01 21:04:45 -05:00
parent d016538408
commit 8707a5196b
2 changed files with 131 additions and 0 deletions
+14
View File
@@ -1,4 +1,5 @@
use anyhow::{bail, Result};
use registers::REGISTERS;
use request::{Request, RequestKind};
use response::Response;
use std::{
@@ -17,6 +18,7 @@ use tokio::{
use crate::emulator::{EmulatorClient, EmulatorCommand, SimId};
mod registers;
mod request;
mod response;
@@ -191,6 +193,18 @@ impl GdbConnection {
hex::encode("v810-unknown-vb")
));
self.send(res).await?;
} else if req.match_str("qRegisterInfo") {
let mut get_reg_info = || {
let register = req.match_hex::<usize>()?;
REGISTERS.get(register)
};
let Some(reg_info) = get_reg_info() else {
let res = self.response();
self.send(res).await?;
continue;
};
let res = self.response().write_str(&reg_info.to_description());
self.send(res).await?;
} else if req.match_str("vCont?") {
let res = self.response().write_str("vCont;c;");
self.send(res).await?;