Return register info
This commit is contained in:
@@ -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(®_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?;
|
||||
|
||||
Reference in New Issue
Block a user