[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH] target-ppc: ppce500_spin.c uses SPR_
From: |
Thomas Huth |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH] target-ppc: ppce500_spin.c uses SPR_PIR, should use SPR_BOOKE_PIR |
Date: |
Sat, 25 Jun 2016 09:55:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 |
On 24.06.2016 04:27, David Gibson wrote:
> On Thu, Jun 23, 2016 at 03:35:17PM -0700, Aaron Larson wrote:
>>
>> ppce500_spin.c uses SPR_PIR to initialize the spin table, however on
>> Book E processors the correct SPR is SPR_BOOKE_PIR.
>>
>> Signed-off-by: Aaron Larson <address@hidden>
>
> Applied to ppc-for-2.7, thanks.
>
> IIRC this leaves a redundant bit in spin_init, but that can be cleaned
> up later.
It's in spin_reset() ... and I'm not sure whether this value is needed
between reset and kick time, so maybe it's safer to just keep that line
in spin_reset()?
>> ---
>> hw/ppc/ppce500_spin.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
>> index 76bd78b..225177b 100644
>> --- a/hw/ppc/ppce500_spin.c
>> +++ b/hw/ppc/ppce500_spin.c
>> @@ -104,7 +104,7 @@ static void spin_kick(void *data)
>> hwaddr map_start;
>>
>> cpu_synchronize_state(cpu);
>> - stl_p(&curspin->pir, env->spr[SPR_PIR]);
>> + stl_p(&curspin->pir, env->spr[SPR_BOOKE_PIR]);
>> env->nip = ldq_p(&curspin->addr) & (map_size - 1);
>> env->gpr[3] = ldq_p(&curspin->r3);
>> env->gpr[4] = 0;
>
signature.asc
Description: OpenPGP digital signature