Properly parse incoming hio packet

This also does kind of a hacky way of sending HIO requests, since we
don't have a direct way of signaling a request should be sent like the
Rosalina implementation.

To improve this, it could probably do some kind of signal sending which
the main run loop handles instead of GDBStub::HandlePacket();
This commit is contained in:
Ian Chamberlain
2022-12-03 16:09:13 -05:00
parent 6f23ee43ae
commit 7de1bf3746
4 changed files with 94 additions and 57 deletions

View File

@ -107,4 +107,27 @@ void SetCpuStepFlag(bool is_step);
* @param trap Trap no.
*/
void SendTrap(Kernel::Thread* thread, int trap);
/**
* Converts input hex string characters into an array of equivalent of u8 bytes.
*
* @param src Pointer to array of output hex string characters.
* @param len Length of src array.
*/
u32 HexToInt(const u8* src, std::size_t len);
/**
* Convert a gdb-formatted hex string into a u32.
*
* @param src Pointer to hex string.
*/
u32 GdbHexToInt(const u8* src);
/**
* Convert a gdb-formatted hex string into a u64.
*
* @param src Pointer to hex string.
*/
u64 GdbHexToLong(const u8* src);
} // namespace GDBStub