All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Alexander Graf <agraf@suse.de>
Cc: Mihai Caraman <mihai.caraman@freescale.com>,
	kvm-ppc@vger.kernel.org, kvm@vger.kernel.org
Subject: Re: [PATCH 1/2] KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
Date: Thu, 26 Apr 2012 17:43:41 +0000	[thread overview]
Message-ID: <4F99894D.2000402@freescale.com> (raw)
In-Reply-To: <27452B3A-EB7D-421C-8F6F-D6FBA776AB86@suse.de>

On 04/26/2012 06:36 AM, Alexander Graf wrote:
> 
> On 16.04.2012, at 16:08, Mihai Caraman wrote:
> 
>> Guest r8 register is held in the scratch register and stored correctly,
>> so remove the instruction that clobbers it. Guest r13 was missing from vcpu,
>> store it there.
>>
>> Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
>> ---
>> arch/powerpc/kvm/bookehv_interrupts.S |    2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
>> index 0d04bc9..0ca987d 100644
>> --- a/arch/powerpc/kvm/bookehv_interrupts.S
>> +++ b/arch/powerpc/kvm/bookehv_interrupts.S
>> @@ -264,10 +264,10 @@ _GLOBAL(kvmppc_handler_\intno\()_\srr1)
>> 	mfspr	r6, \srr1
>> 	PPC_LL	r4, GPR11(r8)
>> 	PPC_STL	r7, VCPU_GPR(r7)(r11)
>> -	PPC_STL	r8, VCPU_GPR(r8)(r11)
> 
> I'm not sure I can follow you here. The code that leads up to this is:
> 
> #define NORMAL_EXCEPTION_PROLOG(intno)                                               \
>         mtspr   SPRN_SPRG_WSCRATCH0, r10;       /* save one register */      \
>         mfspr   r10, SPRN_SPRG_THREAD;                                       \
>         stw     r11, THREAD_NORMSAVE(0)(r10);                                \
>         stw     r13, THREAD_NORMSAVE(2)(r10);                                \
>         mfcr    r13;                    /* save CR in r13 for now          */\
>         mfspr   r11, SPRN_SRR1;                                              \
>         DO_KVM  BOOKE_INTERRUPT_##intno SPRN_SRR1;                           \

See the subject line -- this is for level exceptions
(EXC_LEVEL_EXCEPTION_PROLOG), not normal exceptions.

-Scott


WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood@freescale.com>
To: Alexander Graf <agraf@suse.de>
Cc: Mihai Caraman <mihai.caraman@freescale.com>,
	<kvm-ppc@vger.kernel.org>, <kvm@vger.kernel.org>
Subject: Re: [PATCH 1/2] KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
Date: Thu, 26 Apr 2012 12:43:41 -0500	[thread overview]
Message-ID: <4F99894D.2000402@freescale.com> (raw)
In-Reply-To: <27452B3A-EB7D-421C-8F6F-D6FBA776AB86@suse.de>

On 04/26/2012 06:36 AM, Alexander Graf wrote:
> 
> On 16.04.2012, at 16:08, Mihai Caraman wrote:
> 
>> Guest r8 register is held in the scratch register and stored correctly,
>> so remove the instruction that clobbers it. Guest r13 was missing from vcpu,
>> store it there.
>>
>> Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
>> ---
>> arch/powerpc/kvm/bookehv_interrupts.S |    2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
>> index 0d04bc9..0ca987d 100644
>> --- a/arch/powerpc/kvm/bookehv_interrupts.S
>> +++ b/arch/powerpc/kvm/bookehv_interrupts.S
>> @@ -264,10 +264,10 @@ _GLOBAL(kvmppc_handler_\intno\()_\srr1)
>> 	mfspr	r6, \srr1
>> 	PPC_LL	r4, GPR11(r8)
>> 	PPC_STL	r7, VCPU_GPR(r7)(r11)
>> -	PPC_STL	r8, VCPU_GPR(r8)(r11)
> 
> I'm not sure I can follow you here. The code that leads up to this is:
> 
> #define NORMAL_EXCEPTION_PROLOG(intno)                                               \
>         mtspr   SPRN_SPRG_WSCRATCH0, r10;       /* save one register */      \
>         mfspr   r10, SPRN_SPRG_THREAD;                                       \
>         stw     r11, THREAD_NORMSAVE(0)(r10);                                \
>         stw     r13, THREAD_NORMSAVE(2)(r10);                                \
>         mfcr    r13;                    /* save CR in r13 for now          */\
>         mfspr   r11, SPRN_SRR1;                                              \
>         DO_KVM  BOOKE_INTERRUPT_##intno SPRN_SRR1;                           \

See the subject line -- this is for level exceptions
(EXC_LEVEL_EXCEPTION_PROLOG), not normal exceptions.

-Scott

  reply	other threads:[~2012-04-26 17:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-16 14:08 [PATCH 1/2] KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler Mihai Caraman
2012-04-16 14:08 ` Mihai Caraman
2012-04-16 14:08 ` [PATCH 2/2] KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields Mihai Caraman
2012-04-16 14:08   ` Mihai Caraman
2012-04-26 11:40   ` Alexander Graf
2012-04-26 11:40     ` Alexander Graf
2012-04-26 11:36 ` [PATCH 1/2] KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler Alexander Graf
2012-04-26 11:36   ` Alexander Graf
2012-04-26 17:43   ` Scott Wood [this message]
2012-04-26 17:43     ` Scott Wood
2012-05-02 11:12     ` Alexander Graf
2012-05-02 11:12       ` Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F99894D.2000402@freescale.com \
    --to=scottwood@freescale.com \
    --cc=agraf@suse.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=mihai.caraman@freescale.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.