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: Alan Hayward
Subject: Re: [PATCH v2 06/14] target/arm: use gdb_get_reg helpers
Date: Mon, 2 Dec 2019 10:05:44 +0000


> On 1 Dec 2019, at 20:05, Philippe Mathieu-Daudé <address@hidden> wrote:
> 
> 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 :(

Am I right in thinking this patch correctly matches the SVE BE changes from 
June?

Specifically, this patch:
http://lists.infradead.org/pipermail/linux-arm-kernel/2019-June/657826.html


Alan.

> 
> 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]