genode/repos/ports/src/virtualbox5/patches/tm_4s.patch

43 lines
1.9 KiB
Diff

--- a/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
@@ -437,7 +437,7 @@
bool fStop = false;
const uint64_t u64Prev = pVM->tm.s.u64VirtualSyncCatchUpPrev;
uint64_t u64Delta = u64 - u64Prev;
- if (RT_LIKELY(!(u64Delta >> 32)))
+ if (RT_LIKELY(!(u64Delta >> 63)))
{
uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
if (off > u64Sub + pVM->tm.s.offVirtualSyncGivenUp)
@@ -770,7 +770,7 @@
|| cOuterTries <= 0)
{
uint64_t u64Delta = u64 - u64Prev;
- if (RT_LIKELY(!(u64Delta >> 32)))
+ if (RT_LIKELY(!(u64Delta >> 63)))
{
uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, u32Pct, 100);
if (off > u64Sub + offGivenUp)
--- a/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAll.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAll.cpp
@@ -857,7 +857,7 @@
|| cOuterTries <= 0)
{
uint64_t u64Delta = u64Now - u64Prev;
- if (RT_LIKELY(!(u64Delta >> 32)))
+ if (RT_LIKELY(!(u64Delta >> 63)))
{
uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, u32Pct, 100);
if (off > u64Sub + offGivenUp)
--- a/src/app/virtualbox/src/VBox/VMM/VMMR3/TM.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMR3/TM.cpp
@@ -2149,7 +2160,7 @@
if (pVM->tm.s.fVirtualSyncCatchUp)
{
uint64_t u64Delta = u64VirtualNow - pVM->tm.s.u64VirtualSyncCatchUpPrev;
- if (RT_LIKELY(!(u64Delta >> 32)))
+ if (RT_LIKELY(!(u64Delta >> 63)))
{
uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
if (off > u64Sub + offSyncGivenUp)