Date: Wed, 23 Dec 2020 18:36:23 GMT From: Mitchell Horne <mhorne@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: fd29833d9a7d - gdb(4): handle single register read packets Message-ID: <202012231836.0BNIaN0v017679@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=fd29833d9a7d8355ce21743ed8c706b72ba03363 commit fd29833d9a7d8355ce21743ed8c706b72ba03363 Author: Mitchell Horne <mhorne@FreeBSD.org> AuthorDate: 2020-12-23 18:36:08 +0000 Commit: Mitchell Horne <mhorne@FreeBSD.org> CommitDate: 2020-12-23 18:36:08 +0000 gdb(4): handle single register read packets We support bulk reads of the register set, but not reading specific registers via the 'p' packet. This is useful at least for the 'call' command in gdb. Reviewed by: cem MFC after: 1 week Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. NetApp PR: 44 Differential Revision: https://reviews.freebsd.org/D27644 --- sys/gdb/gdb_main.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/gdb/gdb_main.c b/sys/gdb/gdb_main.c index 70ffe0719c45..588a97c56a40 100644 --- a/sys/gdb/gdb_main.c +++ b/sys/gdb/gdb_main.c @@ -755,6 +755,17 @@ gdb_trap(int type, int code) gdb_tx_ok(); break; } + case 'p': { /* Read register. */ + uintmax_t reg; + if (gdb_rx_varhex(®)) { + gdb_tx_err(EINVAL); + break; + } + gdb_tx_begin(0); + gdb_tx_reg(reg); + gdb_tx_end(); + break; + } case 'P': { /* Write register. */ char *val; uintmax_t reg;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012231836.0BNIaN0v017679>