On 05/17/2012 03:56 PM, Alexander Graf wrote: > > On 17.05.2012, at 18:37, Scott Wood wrote: > >> On 05/16/2012 08:25 AM, Alexander Graf wrote: >>> When reinjecting host interrupt requests in the exit handler code, >>> let's also tell the interrupt handler which interrupt number we're >>> coming from. >>> >>> Signed-off-by: Alexander Graf <agraf@xxxxxxx> >>> --- >>> arch/powerpc/kvm/booke.c | 12 +++++++----- >>> 1 files changed, 7 insertions(+), 5 deletions(-) >>> >>> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c >>> index 72f13f4..0512bd7 100644 >>> --- a/arch/powerpc/kvm/booke.c >>> +++ b/arch/powerpc/kvm/booke.c >>> @@ -596,7 +596,8 @@ static int emulation_exit(struct kvm_run *run, struct kvm_vcpu *vcpu) >>> } >>> } >>> >>> -static void kvmppc_fill_pt_regs(struct pt_regs *regs) >>> +static void kvmppc_fill_pt_regs(struct pt_regs *regs, >>> + int exit_nr) >>> { >>> ulong r1, ip, msr, lr; >>> >>> @@ -610,6 +611,7 @@ static void kvmppc_fill_pt_regs(struct pt_regs *regs) >>> regs->nip = ip; >>> regs->msr = msr; >>> regs->link = lr; >>> + regs->trap = exit_nr; >>> } >>> >>> static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, >>> @@ -619,16 +621,16 @@ static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, >>> >>> switch (exit_nr) { >>> case BOOKE_INTERRUPT_EXTERNAL: >>> - kvmppc_fill_pt_regs(®s); >>> + kvmppc_fill_pt_regs(®s, exit_nr); >>> do_IRQ(®s); >>> break; >> >> exit_nr is not the same as the trap number that the rest of the kernel >> wants to see. > > It's not? What does the kernel want to see then? Remember the commit message in the e500mc patchset about an undocumented, unnamed mess of magic numbers? -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html