From a92559671a3bbdbc154429cf66edf4f490bbe218 Mon Sep 17 00:00:00 2001 From: Michael D Kinney Date: Mon, 8 Nov 2021 08:10:56 -0800 Subject: [PATCH] OvmfPkg/Xen: Fix VS2019 build issues REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3722 Fix VS2019 NOOPT build issues related to converting a larger integer value to a smaller integer value. Cc: Anthony Perard Cc: Julien Grall Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Signed-off-by: Michael D Kinney Acked-by: Gerd Hoffmann Reviewed-by: Jiewen Yao --- .../Library/XenRealTimeClockLib/XenRealTimeClockLib.c | 10 +++++----- OvmfPkg/XenPlatformPei/MemDetect.c | 2 +- OvmfPkg/XenTimerDxe/XenTimerDxe.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c b/OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c index e113bc89bd..72e0aaa879 100644 --- a/OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c +++ b/OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib.c @@ -53,9 +53,9 @@ EpochToEfiTime ( m = (((da * 5) + 308) / 153) - 2; d = da - (((m + 4) * 153) / 5) + 122; - Time->Year = y - 4800 + ((m + 2) / 12); + Time->Year = (UINT16)(y - 4800 + ((m + 2) / 12)); Time->Month = ((m + 2) % 12) + 1; - Time->Day = d + 1; + Time->Day = (UINT8)(d + 1); ss = EpochSeconds % 60; a = (EpochSeconds - ss) / 60; @@ -63,9 +63,9 @@ EpochToEfiTime ( b = (a - mm) / 60; hh = b % 24; - Time->Hour = hh; - Time->Minute = mm; - Time->Second = ss; + Time->Hour = (UINT8)hh; + Time->Minute = (UINT8)mm; + Time->Second = (UINT8)ss; Time->Nanosecond = 0; } diff --git a/OvmfPkg/XenPlatformPei/MemDetect.c b/OvmfPkg/XenPlatformPei/MemDetect.c index 1970b631c9..fa1be888d6 100644 --- a/OvmfPkg/XenPlatformPei/MemDetect.c +++ b/OvmfPkg/XenPlatformPei/MemDetect.c @@ -154,7 +154,7 @@ GetSystemMemorySizeBelow4gb ( HighestAddress = GetHighestSystemMemoryAddress (TRUE); ASSERT (HighestAddress > 0 && HighestAddress <= BASE_4GB); - return HighestAddress; + return (UINT32)HighestAddress; } // diff --git a/OvmfPkg/XenTimerDxe/XenTimerDxe.c b/OvmfPkg/XenTimerDxe/XenTimerDxe.c index 0bec59382b..19fa17a29f 100644 --- a/OvmfPkg/XenTimerDxe/XenTimerDxe.c +++ b/OvmfPkg/XenTimerDxe/XenTimerDxe.c @@ -165,7 +165,7 @@ TimerDriverSetTimerPeriod ( { UINT64 TimerCount; UINT32 TimerFrequency; - UINTN DivideValue = 1; + UINT32 DivideValue = 1; if (TimerPeriod == 0) { // @@ -193,7 +193,7 @@ TimerDriverSetTimerPeriod ( // // Program the timer with the new count value // - InitializeApicTimer(DivideValue, TimerCount, TRUE, LOCAL_APIC_TIMER_VECTOR); + InitializeApicTimer(DivideValue, (UINT32)TimerCount, TRUE, LOCAL_APIC_TIMER_VECTOR); // // Enable timer interrupt -- 2.39.2