summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Geyer <debfx-pkg@fobos.de>2012-04-03 12:25:42 +0200
committerFelix Geyer <debfx-pkg@fobos.de>2012-04-03 12:25:42 +0200
commit0d6c1bc5718766b241c6b7872eef94140fc57a1d (patch)
tree3ba461c9739eeafd8fa2e958f86bc415fc63a6c3
parent8c7d49d0d8f80252d3de530e2cc955293795f814 (diff)
downloadvirtualbox-0d6c1bc5718766b241c6b7872eef94140fc57a1d.tar.gz
Revert "Fix Guru Mediation errors VERR_NOT_SUPPORTED and VERR_RAW_MODE_INVALID_SMP."
This reverts commit 3680e94d215e45bf5fe8b77e2ca766da040af0be. Conflicts: debian/changelog
-rw-r--r--debian/changelog2
-rw-r--r--debian/patches/37-fix-guru-mediation.patch113
-rw-r--r--debian/patches/series1
3 files changed, 0 insertions, 116 deletions
diff --git a/debian/changelog b/debian/changelog
index 45368b60a..879d360f7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,6 @@ virtualbox (4.1.12-dfsg-1) UNRELEASED; urgency=low
* Make the vboxpci module buildable for a i386 kernel when running amd64.
(Closes: #664730)
- Update 12-make-module.patch
- * Fix Guru Mediation errors VERR_NOT_SUPPORTED and VERR_RAW_MODE_INVALID_SMP.
- - Add 37-fix-guru-mediation.patch, cherry-picked from upstream
-- Felix Geyer <debfx-pkg@fobos.de> Sun, 01 Apr 2012 23:23:16 +0200
diff --git a/debian/patches/37-fix-guru-mediation.patch b/debian/patches/37-fix-guru-mediation.patch
deleted file mode 100644
index 4e6770fbb..000000000
--- a/debian/patches/37-fix-guru-mediation.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-Description: Don't reschedule after clearing the inhibit irq flag, it breaks sti+hlt sequences
- by continuing execution instead of halting.
- Restore the previous state on resume if we were halted or in a sipi wait.
-Origin: upstream, https://www.virtualbox.org/changeset/38612/vbox
-Bug: https://www.virtualbox.org/ticket/10370
-
---- a/src/VBox/VMM/VMMR3/EM.cpp
-+++ b/src/VBox/VMM/VMMR3/EM.cpp
-@@ -1360,8 +1360,9 @@
- rc2 = VMMR3EmtRendezvousFF(pVM, pVCpu);
- UPDATE_RC();
-- /** @todo HACK ALERT! The following test is to make sure EM+TM things the VM is
-- * stopped/reset before the next VM state change is made. We need a better
-- * solution for this, or at least make it possible to do: (rc >= VINF_EM_FIRST
-- * && rc >= VINF_EM_SUSPEND). */
-+ /** @todo HACK ALERT! The following test is to make sure EM+TM
-+ * thinks the VM is stopped/reset before the next VM state change
-+ * is made. We need a better solution for this, or at least make it
-+ * possible to do: (rc >= VINF_EM_FIRST && rc <=
-+ * VINF_EM_SUSPEND). */
- if (RT_UNLIKELY(rc == VINF_EM_SUSPEND || rc == VINF_EM_RESET || rc == VINF_EM_OFF))
- {
-@@ -1470,8 +1471,9 @@
- rc2 = VMMR3EmtRendezvousFF(pVM, pVCpu);
- UPDATE_RC();
-- /** @todo HACK ALERT! The following test is to make sure EM+TM things the VM is
-- * stopped/reset before the next VM state change is made. We need a better
-- * solution for this, or at least make it possible to do: (rc >= VINF_EM_FIRST
-- * && rc >= VINF_EM_SUSPEND). */
-+ /** @todo HACK ALERT! The following test is to make sure EM+TM
-+ * thinks the VM is stopped/reset before the next VM state change
-+ * is made. We need a better solution for this, or at least make it
-+ * possible to do: (rc >= VINF_EM_FIRST && rc <=
-+ * VINF_EM_SUSPEND). */
- if (RT_UNLIKELY(rc == VINF_EM_SUSPEND || rc == VINF_EM_RESET || rc == VINF_EM_OFF))
- {
-@@ -1495,8 +1497,9 @@
- }
- UPDATE_RC();
-- /** @todo HACK ALERT! The following test is to make sure EM+TM things the VM is
-- * stopped/reset before the next VM state change is made. We need a better
-- * solution for this, or at least make it possible to do: (rc >= VINF_EM_FIRST
-- * && rc >= VINF_EM_SUSPEND). */
-+ /** @todo HACK ALERT! The following test is to make sure EM+TM
-+ * thinks the VM is stopped/reset before the next VM state change
-+ * is made. We need a better solution for this, or at least make it
-+ * possible to do: (rc >= VINF_EM_FIRST && rc <=
-+ * VINF_EM_SUSPEND). */
- if (RT_UNLIKELY(rc == VINF_EM_SUSPEND || rc == VINF_EM_RESET || rc == VINF_EM_OFF))
- {
-@@ -1546,8 +1549,9 @@
- }
- UPDATE_RC();
-- /** @todo HACK ALERT! The following test is to make sure EM+TM things the VM is
-- * stopped/reset before the next VM state change is made. We need a better
-- * solution for this, or at least make it possible to do: (rc >= VINF_EM_FIRST
-- * && rc >= VINF_EM_SUSPEND). */
-+ /** @todo HACK ALERT! The following test is to make sure EM+TM
-+ * thinks the VM is stopped/reset before the next VM state change
-+ * is made. We need a better solution for this, or at least make it
-+ * possible to do: (rc >= VINF_EM_FIRST && rc <=
-+ * VINF_EM_SUSPEND). */
- if (RT_UNLIKELY(rc == VINF_EM_SUSPEND || rc == VINF_EM_RESET || rc == VINF_EM_OFF))
- {
-@@ -1578,5 +1582,5 @@
- /*
- * The instruction following an emulated STI should *always* be executed!
-- *
-+ *
- * Note! We intentionally don't clear VM_FF_INHIBIT_INTERRUPTS here if
- * the eip is the same as the inhibited instr address. Before we
-@@ -1591,16 +1595,11 @@
- && !VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY))
- {
-- Log(("VMCPU_FF_INHIBIT_INTERRUPTS at %RGv successor %RGv\n", (RTGCPTR)CPUMGetGuestRIP(pVCpu), EMGetInhibitInterruptsPC(pVCpu)));
- if (CPUMGetGuestRIP(pVCpu) != EMGetInhibitInterruptsPC(pVCpu))
-+ {
-+ Log(("Clearing VMCPU_FF_INHIBIT_INTERRUPTS at %RGv - successor %RGv\n", (RTGCPTR)CPUMGetGuestRIP(pVCpu), EMGetInhibitInterruptsPC(pVCpu)));
- VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS);
--
-- if (EMIsSupervisorCodeRecompiled(pVM))
-- rc2 = VINF_EM_RESCHEDULE_REM;
-- else if (HWACCMR3IsActive(pVCpu))
-- rc2 = VINF_EM_RESCHEDULE_HWACC;
-+ }
- else
-- rc2 = PATMAreInterruptsEnabled(pVM) ? VINF_EM_RESCHEDULE_RAW : VINF_EM_RESCHEDULE_REM;
--
-- UPDATE_RC();
-+ Log(("Leaving VMCPU_FF_INHIBIT_INTERRUPTS set at %RGv\n", (RTGCPTR)CPUMGetGuestRIP(pVCpu)));
- }
-
-@@ -1900,5 +1899,8 @@
- if ( pVCpu->em.s.enmPrevState == EMSTATE_WAIT_SIPI
- || pVCpu->em.s.enmPrevState == EMSTATE_HALTED)
-+ {
-+ pVCpu->em.s.enmState = pVCpu->em.s.enmPrevState;
- break;
-+ }
- /* fall through and get scheduled. */
-
-@@ -1937,4 +1939,5 @@
- case VINF_EM_SUSPEND:
- Log2(("EMR3ExecuteVM: VINF_EM_SUSPEND: %d -> %d\n", pVCpu->em.s.enmState, EMSTATE_SUSPENDED));
-+ Assert(pVCpu->em.s.enmState != EMSTATE_SUSPENDED);
- pVCpu->em.s.enmPrevState = pVCpu->em.s.enmState;
- pVCpu->em.s.enmState = EMSTATE_SUSPENDED;
-@@ -1988,4 +1991,5 @@
- case VINF_EM_NO_MEMORY:
- Log2(("EMR3ExecuteVM: VINF_EM_NO_MEMORY: %d -> %d\n", pVCpu->em.s.enmState, EMSTATE_SUSPENDED));
-+ Assert(pVCpu->em.s.enmState != EMSTATE_SUSPENDED);
- pVCpu->em.s.enmPrevState = pVCpu->em.s.enmState;
- pVCpu->em.s.enmState = EMSTATE_SUSPENDED;
diff --git a/debian/patches/series b/debian/patches/series
index 582c8638e..4ed7bdf3b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,4 +15,3 @@
33-link-static-libgsoap.patch
35-libvdeplug-soname.patch
36-ubuntu-pae.patch
-37-fix-guru-mediation.patch