[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-mips: Fix RDHWR on CP0.Count
From: |
Alex Smith |
Subject: |
Re: [Qemu-devel] [PATCH] target-mips: Fix RDHWR on CP0.Count |
Date: |
Tue, 8 Sep 2015 11:07:34 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
On 08/09/2015 10:44, Leon Alrae wrote:
> On 04/09/15 09:21, Alex Smith wrote:
>> For RDHWR on the CP0.Count register, env->CP0_Count was being returned.
>> This value is a delta against the QEMU_CLOCK_VIRTUAL clock, not the
>> correct current value of CP0.Count. Use cpu_mips_get_count() instead.
>>
>> Signed-off-by: Alex Smith <address@hidden>
>> Cc: Aurelien Jarno <address@hidden>
>> Cc: Leon Alrae <address@hidden>
>> ---
>> target-mips/op_helper.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c
>> index 809a061e296b..6fe00201c10d 100644
>> --- a/target-mips/op_helper.c
>> +++ b/target-mips/op_helper.c
>> @@ -2185,7 +2185,7 @@ target_ulong helper_rdhwr_cc(CPUMIPSState *env)
>> {
>> if ((env->hflags & MIPS_HFLAG_CP0) ||
>> (env->CP0_HWREna & (1 << 2)))
>> - return env->CP0_Count;
>> + return (int32_t)cpu_mips_get_count(env);
>> else
>> helper_raise_exception(env, EXCP_RI);
>>
>>
>
> Thanks for the patch, this looks correct for system mode. However, if
> you try to build mips*-linux-user it will fail -- cpu_mips_get_count()
> and family aren't defined in linux-user (we don't seem to care about
> modifying CP0_Count).
>
> Also, QEMU coding style requires that every indented statement is braced
> (these style issues are in quite many places in existing code, but new
> code should follow the correct style).
>
> Could you fix these two issues, please?
Sure, will do. I'll send a new patch shortly.
Thanks,
Alex