[PATCH kvm-unit-tests] x86: isr: fix handle_external_interrupt for 32-bit build

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

 



Broken by commit 57b4317dc6758dd8b478609b1312685795654e01.

Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
---
 lib/x86/isr.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/x86/isr.c b/lib/x86/isr.c
index b0c6f53..833564a 100644
--- a/lib/x86/isr.c
+++ b/lib/x86/isr.c
@@ -93,13 +93,13 @@ void handle_irq(unsigned vec, void (*func)(isr_regs_t *regs))
 
 void handle_external_interrupt(int vector)
 {
+	idt_entry_t *idt = &boot_idt[vector];
+	unsigned long entry =
+		idt->offset0 | ((unsigned long)idt->offset1 << 16);
 #ifdef __x86_64__
 	unsigned long tmp;
+	entry |= ((unsigned long)idt->offset2 << 32);
 #endif
-	idt_entry_t *idt = &boot_idt[vector];
-	unsigned long entry =
-	    idt->offset0 | ((unsigned long)idt->offset1 << 16) |
-	    ((unsigned long)idt->offset2 << 32);
 
 	asm volatile(
 #ifdef __x86_64__
@@ -109,7 +109,7 @@ void handle_external_interrupt(int vector)
 		     "push %[sp]\n\t"
 #endif
 		     "pushf\n\t"
-		     "orl $0x200, (%%rsp)\n\t"
+		     "orl $0x200, (%%"R"sp)\n\t"
 		     "push $%c[cs]\n\t"
 		     "call *%[entry]\n\t"
 		     :
-- 
1.9.3

--
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