[RFC][KVM][PATCH 1/1] kvm:ppc:booke-64: soft-disable interrupts
Scott Wood
scottwood at freescale.com
Tue May 7 09:50:57 EST 2013
On 05/05/2013 10:13:17 PM, tiejun.chen wrote:
> On 05/06/2013 11:10 AM, Tiejun Chen wrote:
>> For the external interrupt, the decrementer exception and the
>> doorbell
>> excpetion, we also need to soft-disable interrupts while doing as
>> host
>> interrupt handlers since the DO_KVM hook is always performed to skip
>> EXCEPTION_COMMON then miss this original chance with the 'ints'
>> (INTS_DISABLE).
http://patchwork.ozlabs.org/patch/241344/
http://patchwork.ozlabs.org/patch/241412/
:-)
>> Signed-off-by: Tiejun Chen <tiejun.chen at windriver.com>
>> ---
>> arch/powerpc/kvm/bookehv_interrupts.S | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
>> b/arch/powerpc/kvm/bookehv_interrupts.S
>> index e8ed7d6..2fd62bf 100644
>> --- a/arch/powerpc/kvm/bookehv_interrupts.S
>> +++ b/arch/powerpc/kvm/bookehv_interrupts.S
>> @@ -33,6 +33,8 @@
>>
>> #ifdef CONFIG_64BIT
>> #include <asm/exception-64e.h>
>> +#include <asm/hw_irq.h>
>> +#include <asm/irqflags.h>
>> #else
>> #include "../kernel/head_booke.h" /* for THREAD_NORMSAVE() */
>> #endif
>> @@ -469,6 +471,13 @@ _GLOBAL(kvmppc_resume_host)
>> PPC_LL r3, HOST_RUN(r1)
>> mr r5, r14 /* intno */
>> mr r14, r4 /* Save vcpu pointer. */
>> +#ifdef CONFIG_64BIT
>> + /* Should we soft-disable interrupts? */
>> + andi. r6, r5, BOOKE_INTERRUPT_EXTERNAL |
>> BOOKE_INTERRUPT_DECREMENTER | BOOKE_INTERRUPT_DOORBELL
>> + beq skip_soft_dis
>> + SOFT_DISABLE_INTS(r7,r8)
>> +skip_soft_dis:
>> +#endif
Why wouldn't we always disable them? kvmppc_handle_exit() will enable
interrupts when it's ready.
-Scott
More information about the Linuxppc-dev
mailing list