[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 12/28] target/m68k: use gdb_get_reg helpers
From: |
Alex Bennée |
Subject: |
[PATCH v1 12/28] target/m68k: use gdb_get_reg helpers |
Date: |
Mon, 16 Mar 2020 17:21:39 +0000 |
This is cleaner than poking memory directly and will make later
clean-ups easier.
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
---
v3
- fix mem_buf references
- fix mem_buf + len cases
---
target/m68k/helper.c | 29 +++++++++++------------------
1 file changed, 11 insertions(+), 18 deletions(-)
diff --git a/target/m68k/helper.c b/target/m68k/helper.c
index baf7729af00..c23b70f854d 100644
--- a/target/m68k/helper.c
+++ b/target/m68k/helper.c
@@ -72,19 +72,15 @@ static int cf_fpu_gdb_get_reg(CPUM68KState *env, uint8_t
*mem_buf, int n)
{
if (n < 8) {
float_status s;
- stfq_p(mem_buf, floatx80_to_float64(env->fregs[n].d, &s));
- return 8;
+ return gdb_get_reg64(mem_buf, floatx80_to_float64(env->fregs[n].d,
&s));
}
switch (n) {
case 8: /* fpcontrol */
- stl_be_p(mem_buf, env->fpcr);
- return 4;
+ return gdb_get_reg32(mem_buf, env->fpcr);
case 9: /* fpstatus */
- stl_be_p(mem_buf, env->fpsr);
- return 4;
+ return gdb_get_reg32(mem_buf, env->fpsr);
case 10: /* fpiar, not implemented */
- memset(mem_buf, 0, 4);
- return 4;
+ return gdb_get_reg32(mem_buf, 0);
}
return 0;
}
@@ -112,21 +108,18 @@ static int cf_fpu_gdb_set_reg(CPUM68KState *env, uint8_t
*mem_buf, int n)
static int m68k_fpu_gdb_get_reg(CPUM68KState *env, uint8_t *mem_buf, int n)
{
if (n < 8) {
- stw_be_p(mem_buf, env->fregs[n].l.upper);
- memset(mem_buf + 2, 0, 2);
- stq_be_p(mem_buf + 4, env->fregs[n].l.lower);
- return 12;
+ int len = gdb_get_reg16(mem_buf, env->fregs[n].l.upper);
+ len += gdb_get_reg16(mem_buf + len, 0);
+ len += gdb_get_reg64(mem_buf + len, env->fregs[n].l.lower);
+ return len;
}
switch (n) {
case 8: /* fpcontrol */
- stl_be_p(mem_buf, env->fpcr);
- return 4;
+ return gdb_get_reg32(mem_buf, env->fpcr);
case 9: /* fpstatus */
- stl_be_p(mem_buf, env->fpsr);
- return 4;
+ return gdb_get_reg32(mem_buf, env->fpsr);
case 10: /* fpiar, not implemented */
- memset(mem_buf, 0, 4);
- return 4;
+ return gdb_get_reg32(mem_buf, 0);
}
return 0;
}
--
2.20.1
- [PATCH v1 03/28] tests/docker: Remove obsolete VirGL --with-glx configure option, (continued)
- [PATCH v1 03/28] tests/docker: Remove obsolete VirGL --with-glx configure option, Alex Bennée, 2020/03/16
- [PATCH v1 04/28] tests/docker: Update VirGL to v0.8.0, Alex Bennée, 2020/03/16
- [PATCH v1 10/28] gdbstub: add helper for 128 bit registers, Alex Bennée, 2020/03/16
- [PATCH v1 06/28] gdbstub: make GDBState static and have common init function, Alex Bennée, 2020/03/16
- [PATCH v1 02/28] tests/docker: Update VirGL git repository URL, Alex Bennée, 2020/03/16
- [PATCH v1 05/28] travis.yml: Set G_MESSAGES_DEBUG do report GLib errors, Alex Bennée, 2020/03/16
- [PATCH v1 08/28] gdbstub: move str_buf to GDBState and use GString, Alex Bennée, 2020/03/16
- [PATCH v1 27/28] gdbstub: do not split gdb_monitor_write payload, Alex Bennée, 2020/03/16
- [PATCH v1 11/28] target/arm: use gdb_get_reg helpers, Alex Bennée, 2020/03/16
- [PATCH v1 09/28] gdbstub: move mem_buf to GDBState and use GByteArray, Alex Bennée, 2020/03/16
- [PATCH v1 12/28] target/m68k: use gdb_get_reg helpers,
Alex Bennée <=
- [PATCH v1 07/28] gdbstub: stop passing GDBState * around and use global, Alex Bennée, 2020/03/16
- [PATCH v1 13/28] target/i386: use gdb_get_reg helpers, Alex Bennée, 2020/03/16
- [PATCH v1 15/28] target/arm: prepare for multiple dynamic XMLs, Alex Bennée, 2020/03/16
- [PATCH v1 28/28] gdbstub: Fix single-step issue by confirming 'vContSupported+' feature to gdb, Alex Bennée, 2020/03/16
- [PATCH v1 14/28] gdbstub: extend GByteArray to read register helpers, Alex Bennée, 2020/03/16
- [PATCH v1 24/28] tests/tcg/aarch64: add SVE iotcl test, Alex Bennée, 2020/03/16