]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
x86: ack insr interrupts on PIC.
authorAntti Kantee <pooka@iki.fi>
Thu, 5 Nov 2015 16:33:16 +0000 (16:33 +0000)
committerAntti Kantee <pooka@iki.fi>
Thu, 5 Nov 2015 16:33:16 +0000 (16:33 +0000)
Partial fix for #59 in the sense that the guest no longer
stops responding.

Still no idea why repeating the problem is only possible on
amd64 with serial console, so further exploration is necessary.

per tip from @mato

platform/hw/arch/amd64/intr.S
platform/hw/arch/i386/locore.S

index bc81ef83e5bd1f4d75c89a1b7f4de7faba81813a..0e38ec074972e1374a2bf7e7cc693f8a5ef0e134 100644 (file)
@@ -86,6 +86,12 @@ FATTRAP(14, "page fault")
  * convenient inservice routine
  */
 ENTRY(cpu_insr)
+       cli
+       pushq %rax
+       movb $0x20, %al
+       outb %al, $0x20
+       popq %rax
+       sti
        iretq
 END(cpu_insr)
 
index e0ddc6f98826e819c5ed57671bb73dd1019ad8fd..4d6d8d2e99f8ea8822123cbdf6499b0246d4804a 100644 (file)
@@ -151,6 +151,12 @@ SYSTRAP(17, "#AC")
  * convenient inservice routine
  */
 ENTRY(cpu_insr)
+       cli
+       pushl %eax
+       movb $0x20, %al
+       outb %al, $0x20
+       popl %eax
+       sti
        iret
 END(cpu_insr)