Index: /trunk/src/VBox/VMM/VMMAll/APICAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/APICAll.cpp	(revision 60522)
+++ /trunk/src/VBox/VMM/VMMAll/APICAll.cpp	(revision 60523)
@@ -2342,5 +2342,5 @@
     STAM_COUNTER_INC(&pVCpu->apic.s.CTX_SUFF(StatMmioWrite));
 
-    LogRel(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));
+    Log4(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));
 
     int rc = VBOXSTRICTRC_VAL(apicWriteRegister(pApicDev, pVCpu, offReg, uValue));
@@ -2407,12 +2407,12 @@
         if (enmTriggerMode == XAPICTRIGGERMODE_EDGE)
         {
-            Assert(CTX_SUFF(pApicCpu->pvApicPib));
-            apicSetVectorInPib(CTX_SUFF(pApicCpu->pvApicPib), uVector);
-            bool const fAlreadySet = apicSetNotificationBitInPib(CTX_SUFF(pApicCpu->pvApicPib));
-            if (!fAlreadySet)
-            {
-                if (pApic->fPostedIntrsEnabled)
-                { /** @todo posted-interrupt call to hardware */ }
-                else
+            if (pApic->fPostedIntrsEnabled)
+            { /** @todo posted-interrupt call to hardware */ }
+            else
+            {
+                Assert(CTX_SUFF(pApicCpu->pvApicPib));
+                apicSetVectorInPib(CTX_SUFF(pApicCpu->pvApicPib), uVector);
+                bool const fAlreadySet = apicSetNotificationBitInPib(CTX_SUFF(pApicCpu->pvApicPib));
+                if (!fAlreadySet)
                     APICSetInterruptFF(pVCpu, PDMAPICIRQ_HARDWARE);
             }
@@ -2612,6 +2612,6 @@
             if (uFragment)
             {
-                apicOrVectorsToReg(&pXApicPage->irr,  i,  uFragment);
-                apicAndVectorsToReg(&pXApicPage->tmr, i, ~uFragment);
+                pXApicPage->irr.u[i].u32Reg |=  uFragment;
+                pXApicPage->tmr.u[i].u32Reg &= ~uFragment;
             }
         }
@@ -2631,6 +2631,6 @@
             if (uFragment)
             {
-                apicOrVectorsToReg(&pXApicPage->irr, i, uFragment);
-                apicOrVectorsToReg(&pXApicPage->tmr, i, uFragment);
+                pXApicPage->irr.u[i].u32Reg |= uFragment;
+                pXApicPage->tmr.u[i].u32Reg |= uFragment;
             }
         }
