qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 06/14] target/arm: use gdb_get_reg helpers


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v2 06/14] target/arm: use gdb_get_reg helpers
Date: Sun, 1 Dec 2019 21:05:22 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1

On 11/30/19 9:45 AM, Alex Bennée wrote:
This is cleaner than poking memory directly and will make later
clean-ups easier.

Signed-off-by: Alex Bennée <address@hidden>

---
v2
   - make sure we pass hi/lo correctly as quads are stored in LE order
---
  target/arm/helper.c | 18 +++++++-----------
  1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/target/arm/helper.c b/target/arm/helper.c
index 0bf8f53d4b8..0ac950d6c71 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -105,21 +105,17 @@ static int aarch64_fpu_gdb_get_reg(CPUARMState *env, 
uint8_t *buf, int reg)
  {
      switch (reg) {
      case 0 ... 31:
-        /* 128 bit FP register */
-        {
-            uint64_t *q = aa64_vfp_qreg(env, reg);
-            stq_le_p(buf, q[0]);
-            stq_le_p(buf + 8, q[1]);
-            return 16;
-        }
+    {
+        /* 128 bit FP register - quads are in LE order */

Oh, this was always wrong on BE :(

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

+        uint64_t *q = aa64_vfp_qreg(env, reg);
+        return gdb_get_reg128(buf, q[1], q[0]);
+    }
      case 32:
          /* FPSR */
-        stl_p(buf, vfp_get_fpsr(env));
-        return 4;
+        return gdb_get_reg32(buf, vfp_get_fpsr(env));
      case 33:
          /* FPCR */
-        stl_p(buf, vfp_get_fpcr(env));
-        return 4;
+        return gdb_get_reg32(buf,vfp_get_fpcr(env));
      default:
          return 0;
      }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]