[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 08/21] gdbstub: move fromhex/tohex routines to internals
From: |
Alex Bennée |
Subject: |
[PATCH v2 08/21] gdbstub: move fromhex/tohex routines to internals |
Date: |
Thu, 5 Jan 2023 16:43:07 +0000 |
These will be needed from multiple places in the code. They are
declared as inline so move to the header and fix up to modern coding
style.
The only other place that messes with hex stuff at the moment is the
URI handling in utils but that would be more code churn so leave for
now.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
gdbstub/internals.h | 27 +++++++++++++++++++++++++++
gdbstub/gdbstub.c | 20 --------------------
2 files changed, 27 insertions(+), 20 deletions(-)
diff --git a/gdbstub/internals.h b/gdbstub/internals.h
index 9784db2dc5..c8bb85cf34 100644
--- a/gdbstub/internals.h
+++ b/gdbstub/internals.h
@@ -74,6 +74,33 @@ typedef struct GDBState {
int supported_sstep_flags;
} GDBState;
+
+/*
+ * Inline utility function, convert from int to hex and back
+ */
+
+static inline int fromhex(int v)
+{
+ if (v >= '0' && v <= '9') {
+ return v - '0';
+ } else if (v >= 'A' && v <= 'F') {
+ return v - 'A' + 10;
+ } else if (v >= 'a' && v <= 'f') {
+ return v - 'a' + 10;
+ } else {
+ return 0;
+ }
+}
+
+static inline int tohex(int v)
+{
+ if (v < 10) {
+ return v + '0';
+ } else {
+ return v - 10 + 'a';
+ }
+}
+
/*
* Break/Watch point support - there is an implementation for softmmu
* and user mode.
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index 92b2f5c3db..d4ee23b51c 100644
--- a/gdbstub/gdbstub.c
+++ b/gdbstub/gdbstub.c
@@ -531,26 +531,6 @@ static void put_buffer(const uint8_t *buf, int len)
#endif
}
-static inline int fromhex(int v)
-{
- if (v >= '0' && v <= '9')
- return v - '0';
- else if (v >= 'A' && v <= 'F')
- return v - 'A' + 10;
- else if (v >= 'a' && v <= 'f')
- return v - 'a' + 10;
- else
- return 0;
-}
-
-static inline int tohex(int v)
-{
- if (v < 10)
- return v + '0';
- else
- return v - 10 + 'a';
-}
-
/* writes 2*len+1 bytes in buf */
static void memtohex(GString *buf, const uint8_t *mem, int len)
{
--
2.34.1
- [PATCH v2 00/21] gdbstub: re-organise to for better compilation behaviour, Alex Bennée, 2023/01/05
- [PATCH v2 02/21] target/arm: fix handling of HLT semihosting in system mode, Alex Bennée, 2023/01/05
- [PATCH v2 01/21] gdbstub/internals.h: clean up include guard, Alex Bennée, 2023/01/05
- [PATCH v2 03/21] gdbstub: fix-up copyright and license files, Alex Bennée, 2023/01/05
- [PATCH v2 04/21] gdbstub: Make syscall_complete/[gs]et_reg target-agnostic typedefs, Alex Bennée, 2023/01/05
- [PATCH v2 06/21] gdbstub: move GDBState to shared internals header, Alex Bennée, 2023/01/05
- [PATCH v2 08/21] gdbstub: move fromhex/tohex routines to internals,
Alex Bennée <=
- [PATCH v2 05/21] gdbstub: define separate user/system structures, Alex Bennée, 2023/01/05
- [PATCH v2 07/21] includes: move tb_flush into its own header, Alex Bennée, 2023/01/05
- [PATCH v2 09/21] gdbstub: make various helpers visible to the rest of the module, Alex Bennée, 2023/01/05
- [PATCH v2 12/21] gdbstub: abstract target specific details from gdb_put_packet_binary, Alex Bennée, 2023/01/05
- [PATCH v2 13/21] gdbstub: specialise handle_query_attached, Alex Bennée, 2023/01/05
- [PATCH v2 21/21] gdbstub: only compile gdbstub twice for whole build, Alex Bennée, 2023/01/05
- [PATCH v2 14/21] gdbstub: specialise target_memory_rw_debug, Alex Bennée, 2023/01/05