[NTVDM]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Thu, 20 Jun 2013 19:43:29 +0000 (19:43 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Thu, 20 Jun 2013 19:43:29 +0000 (19:43 +0000)
Make sure bit 2 in the ISR of the master PIC is set when an IRQ in the slave PIC occurs.

svn path=/branches/ntvdm/; revision=59269

subsystems/ntvdm/hardware.c

index 77aeee7..751c833 100644 (file)
@@ -188,6 +188,12 @@ VOID PicInterruptRequest(BYTE Number)
         {
             return;
         }
+
+        /* Check the if the slave PIC is busy */
+        if (MasterPic.InServiceRegister & (1 << 2)) return;
+
+        /* Set the IRQ 2 bit in the master ISR */
+        MasterPic.InServiceRegister |= 1 << 2;
         
         /* Check if the interrupt is busy or in a cascade */
         if (SlavePic.CascadeRegister & (1 << Number)