Yes, we need this patch for edk2-platform changes [Leif suggested to move the changes in edk2 as function was a generic one].
Will send V2. Thanks, Meenakshi -----Original Message----- From: Ard Biesheuvel [mailto:[email protected]] Sent: Thursday, May 31, 2018 6:38 PM To: Meenakshi Aggarwal <[email protected]> Cc: Leif Lindholm <[email protected]>; [email protected]; Vabhav Sharma <[email protected]> Subject: Re: [PATCH] EmbeddedPkg/TimeBaseLib: Add function to get Week day. On 31 May 2018 at 19:02, Meenakshi Aggarwal <[email protected]> wrote: > This patch add function EfiTimeToWday() which returns day of the week. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Meenakshi Aggarwal <[email protected]> > Signed-off-by: Vabhav <[email protected]> Please use your full name in the S-o-b line Also, do you need this patch for upcoming edk2-platforms changes? If so, please mention that, otherwise it is unclear why we need this change. > --- > EmbeddedPkg/Include/Library/TimeBaseLib.h | 8 ++++++ > EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c | 38 > ++++++++++++++++++++++++--- > 2 files changed, 43 insertions(+), 3 deletions(-) > > diff --git a/EmbeddedPkg/Include/Library/TimeBaseLib.h > b/EmbeddedPkg/Include/Library/TimeBaseLib.h > index fe3618e..dd0b99f 100644 > --- a/EmbeddedPkg/Include/Library/TimeBaseLib.h > +++ b/EmbeddedPkg/Include/Library/TimeBaseLib.h > @@ -65,4 +65,12 @@ EfiTimeToEpoch ( > IN EFI_TIME *Time > ); > > +/** > + returns Day of the week [0-6] 0=Sunday **/ UINTN EfiTimeToWday ( > + IN EFI_TIME *Time > + ); > + > #endif > diff --git a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c > b/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c > index 0c0d940..5f2bf65 100644 > --- a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c > +++ b/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c > @@ -77,11 +77,11 @@ EpochToEfiTime ( > } > > /** > - Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, > 00:00:00 UTC) > + Calculate Epoch days > **/ > UINTN > EFIAPI > -EfiTimeToEpoch ( > +EfiGetEpochDays ( > IN EFI_TIME *Time > ) > { > @@ -90,7 +90,6 @@ EfiTimeToEpoch ( > UINTN m; > UINTN JulianDate; // Absolute Julian Date representation of the supplied > Time > UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY > - UINTN EpochSeconds; > > a = (14 - Time->Month) / 12 ; > y = Time->Year + 4800 - a; > @@ -101,11 +100,44 @@ EfiTimeToEpoch ( > ASSERT (JulianDate >= EPOCH_JULIAN_DATE); > EpochDays = JulianDate - EPOCH_JULIAN_DATE; > > + return EpochDays; > +} > +/** > + Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, > +00:00:00 UTC) **/ UINTN EFIAPI EfiTimeToEpoch ( > + IN EFI_TIME *Time > + ) > +{ > + UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY > + UINTN EpochSeconds; > + > + EpochDays = EfiGetEpochDays (Time); > + > EpochSeconds = (EpochDays * SEC_PER_DAY) + ((UINTN)Time->Hour * > SEC_PER_HOUR) + (Time->Minute * SEC_PER_MIN) + Time->Second; > > return EpochSeconds; > } > > +/** > + returns Day of the week [0-6] 0=Sunday **/ UINTN EfiTimeToWday ( > + IN EFI_TIME *Time > + ) > +{ > + UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY > + > + EpochDays = EfiGetEpochDays (Time); > + > + // 4=1/1/1970 was a Thursday > + > + return (EpochDays + 4) % 7; > +} > + > BOOLEAN > EFIAPI > IsLeapYear ( > -- > 1.9.1 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

