Re: [PATCH] KVM: PPC: BookE: Include trap in pt_regs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(&regs);
>>> +		kvmppc_fill_pt_regs(&regs, exit_nr);
>>> 		do_IRQ(&regs);
>>> 		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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux