From e087d6ad19583281b52cda536e700835ec6704f9 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Wed, 30 May 2018 17:15:04 +0200 Subject: [PATCH] vbox5: quirk microcode patch attempts by guests Fixes #2847 --- repos/ports/ports/virtualbox5.hash | 2 +- repos/ports/src/virtualbox5/patches/microcode.patch | 11 +++++++++++ repos/ports/src/virtualbox5/patches/series | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 repos/ports/src/virtualbox5/patches/microcode.patch diff --git a/repos/ports/ports/virtualbox5.hash b/repos/ports/ports/virtualbox5.hash index d9e88a1496..156ce2a0aa 100644 --- a/repos/ports/ports/virtualbox5.hash +++ b/repos/ports/ports/virtualbox5.hash @@ -1 +1 @@ -218d93225ef6a41885a6b0a623d8004a590b4f7a +b133c6dd40d51e4cbd0d8906f3f7ff5a57f8a7bf diff --git a/repos/ports/src/virtualbox5/patches/microcode.patch b/repos/ports/src/virtualbox5/patches/microcode.patch new file mode 100644 index 0000000000..e7593f3bdc --- /dev/null +++ b/repos/ports/src/virtualbox5/patches/microcode.patch @@ -0,0 +1,11 @@ +--- a/src/app/virtualbox/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp +--- b/src/app/virtualbox/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp +@@ -251,6 +251,8 @@ + RT_NOREF_PV(pVCpu); RT_NOREF_PV(idMsr); RT_NOREF_PV(pRange); + /** @todo fake microcode update. */ + *puValue = pRange->uValue; ++ *puValue = ~0ULL; ++ RTLogPrintf("%s: overwrite %llx->%llx to avoid endless microcode patch loop\n", __func__, pRange->uValue, *puValue); + return VINF_SUCCESS; + } + diff --git a/repos/ports/src/virtualbox5/patches/series b/repos/ports/src/virtualbox5/patches/series index 93c48641fa..88ec4c0cf1 100644 --- a/repos/ports/src/virtualbox5/patches/series +++ b/repos/ports/src/virtualbox5/patches/series @@ -12,3 +12,4 @@ mm.patch substr.patch vusburb.patch audio.patch +microcode.patch