mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 12:21:18 +00:00
dmnt.gen2: enable gdbserver QStartNoAckMode
This commit is contained in:
parent
72b0fe6c1c
commit
3627356d4b
2 changed files with 12 additions and 3 deletions
|
@ -1538,13 +1538,18 @@ namespace ams::dmnt {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GdbServerImpl::Q() {
|
void GdbServerImpl::Q() {
|
||||||
if (false) {
|
if (ParsePrefix(m_receive_packet, "QStartNoAckMode")) {
|
||||||
/* TODO: QStartNoAckMode? */
|
this->QStartNoAckMode();
|
||||||
} else {
|
} else {
|
||||||
AMS_DMNT2_GDB_LOG_DEBUG("Not Implemented Q: %s\n", m_receive_packet);
|
AMS_DMNT2_GDB_LOG_DEBUG("Not Implemented Q: %s\n", m_receive_packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GdbServerImpl::QStartNoAckMode() {
|
||||||
|
m_packet_io.SetNoAck();
|
||||||
|
AppendReplyOk(m_reply_cur, m_reply_end);
|
||||||
|
}
|
||||||
|
|
||||||
void GdbServerImpl::T() {
|
void GdbServerImpl::T() {
|
||||||
if (const char *dot = std::strchr(m_receive_packet, '.'); dot != nullptr) {
|
if (const char *dot = std::strchr(m_receive_packet, '.'); dot != nullptr) {
|
||||||
const u64 thread_id = DecodeHex(dot + 1);
|
const u64 thread_id = DecodeHex(dot + 1);
|
||||||
|
@ -1919,6 +1924,7 @@ namespace ams::dmnt {
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GdbServerImpl::q() {
|
void GdbServerImpl::q() {
|
||||||
if (ParsePrefix(m_receive_packet, "qAttached:")) {
|
if (ParsePrefix(m_receive_packet, "qAttached:")) {
|
||||||
this->qAttached();
|
this->qAttached();
|
||||||
|
@ -2145,6 +2151,7 @@ namespace ams::dmnt {
|
||||||
AppendReplyFormat(m_reply_cur, m_reply_end, ";swbreak+");
|
AppendReplyFormat(m_reply_cur, m_reply_end, ";swbreak+");
|
||||||
AppendReplyFormat(m_reply_cur, m_reply_end, ";hwbreak+");
|
AppendReplyFormat(m_reply_cur, m_reply_end, ";hwbreak+");
|
||||||
AppendReplyFormat(m_reply_cur, m_reply_end, ";vContSupported+");
|
AppendReplyFormat(m_reply_cur, m_reply_end, ";vContSupported+");
|
||||||
|
AppendReplyFormat(m_reply_cur, m_reply_end, ";QStartNoAckMode+");
|
||||||
}
|
}
|
||||||
|
|
||||||
void GdbServerImpl::qXfer() {
|
void GdbServerImpl::qXfer() {
|
||||||
|
|
|
@ -77,6 +77,8 @@ namespace ams::dmnt {
|
||||||
|
|
||||||
void Q();
|
void Q();
|
||||||
|
|
||||||
|
void QStartNoAckMode();
|
||||||
|
|
||||||
void T();
|
void T();
|
||||||
|
|
||||||
void Z();
|
void Z();
|
||||||
|
@ -115,4 +117,4 @@ namespace ams::dmnt {
|
||||||
Result ParseVCont(char * const token, u64 *thread_ids, u8 *continue_modes, s32 num_threads, DebugProcess::ContinueMode &default_continue_mode);
|
Result ParseVCont(char * const token, u64 *thread_ids, u8 *continue_modes, s32 num_threads, DebugProcess::ContinueMode &default_continue_mode);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue