Re: [edk2-devel] [PATCH v2] EmulatorPkg: Add EFI_STATUS return to EMU_THUNK_PROTOCOL.SetTime()
Reviewed-by: Ray Ni Thanks, Ray > -Original Message- > From: devel@edk2.groups.io On Behalf Of > Desimone, Nathaniel L > Sent: Saturday, September 30, 2023 6:12 AM > To: devel@edk2.groups.io > Cc: Andrew Fish ; Ni, Ray ; Kinney, > Michael D ; Chiu, Chasel > > Subject: [edk2-devel] [PATCH v2] EmulatorPkg: Add EFI_STATUS return to > EMU_THUNK_PROTOCOL.SetTime() > > There is an inconsistency between the UNIX and Windows > implementations of EMU_THUNK_PROTOCOL.SetTime(). The Windows > version returns an EFI_STATUS value whereas the the UNIX > implementation is VOID. However, the UNIX implementation is an > unimplemented stub whereas the Windows version is implementated. > > The current EMU_THUNK_PROTOCOL function pointer definition > specifies a VOID return type. However, EMU_THUNK_PROTOCOL.SetTime() > is close to the spec defined gRT->SetTime() except for missing the > EFI_STATUS return type. > > Therefore, I conclude that the most sensible reconciliation is to > add the EFI_STATUS return type to the protocol definition. > > Cc: Andrew Fish > Cc: Ray Ni > Cc: Michael D Kinney > Cc: Chasel Chiu > Signed-off-by: Nate DeSimone > --- > EmulatorPkg/Include/Protocol/EmuThunk.h | 5 +++-- > EmulatorPkg/Unix/Host/EmuThunk.c| 4 ++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/EmulatorPkg/Include/Protocol/EmuThunk.h > b/EmulatorPkg/Include/Protocol/EmuThunk.h > index c419d0a677..bdd57f410b 100644 > --- a/EmulatorPkg/Include/Protocol/EmuThunk.h > +++ b/EmulatorPkg/Include/Protocol/EmuThunk.h > @@ -2,6 +2,7 @@ >Emulator Thunk to abstract OS services from pure EFI code > >Copyright (c) 2008 - 2011, Apple Inc. All rights reserved. > + Copyright (c) 2023, Intel Corporation. All rights reserved. > >SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -148,12 +149,12 @@ VOID > typedef > VOID > (EFIAPI *EMU_GET_TIME)( > - OUT EFI_TIME *Time, > + OUT EFI_TIME*Time, >OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL >); > > typedef > -VOID > +EFI_STATUS > (EFIAPI *EMU_SET_TIME)( >IN EFI_TIME *Time >); > diff --git a/EmulatorPkg/Unix/Host/EmuThunk.c > b/EmulatorPkg/Unix/Host/EmuThunk.c > index ee0843eebf..c57c105a53 100644 > --- a/EmulatorPkg/Unix/Host/EmuThunk.c > +++ b/EmulatorPkg/Unix/Host/EmuThunk.c > @@ -387,14 +387,14 @@ SecGetTime ( >} > } > > -VOID > +EFI_STATUS > SecSetTime ( >IN EFI_TIME *Time >) > { >// Don't change the time on the system >// We could save delta to localtime() and have SecGetTime adjust return > values? > - return; > + return EFI_UNSUPPORTED; > } > > EFI_STATUS > -- > 2.39.2.windows.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112829): https://edk2.groups.io/g/devel/message/112829 Mute This Topic: https://groups.io/mt/103312902/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v2] EmulatorPkg: Add EFI_STATUS return to EMU_THUNK_PROTOCOL.SetTime()
Pushed as 9cf1d03 > -Original Message- > From: devel@edk2.groups.io On Behalf Of Nate > DeSimone > Sent: Friday, September 29, 2023 3:12 PM > To: devel@edk2.groups.io > Cc: Andrew Fish ; Ni, Ray ; Kinney, > Michael D ; Chiu, Chasel > > Subject: [edk2-devel] [PATCH v2] EmulatorPkg: Add EFI_STATUS return to > EMU_THUNK_PROTOCOL.SetTime() > > There is an inconsistency between the UNIX and Windows implementations of > EMU_THUNK_PROTOCOL.SetTime(). The Windows version returns an > EFI_STATUS value whereas the the UNIX implementation is VOID. However, > the UNIX implementation is an unimplemented stub whereas the Windows > version is implementated. > > The current EMU_THUNK_PROTOCOL function pointer definition specifies a > VOID return type. However, EMU_THUNK_PROTOCOL.SetTime() is close to the > spec defined gRT->SetTime() except for missing the EFI_STATUS return type. > > Therefore, I conclude that the most sensible reconciliation is to add the > EFI_STATUS return type to the protocol definition. > > Cc: Andrew Fish > Cc: Ray Ni > Cc: Michael D Kinney > Cc: Chasel Chiu > Signed-off-by: Nate DeSimone > --- > EmulatorPkg/Include/Protocol/EmuThunk.h | 5 +++-- > EmulatorPkg/Unix/Host/EmuThunk.c| 4 ++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/EmulatorPkg/Include/Protocol/EmuThunk.h > b/EmulatorPkg/Include/Protocol/EmuThunk.h > index c419d0a677..bdd57f410b 100644 > --- a/EmulatorPkg/Include/Protocol/EmuThunk.h > +++ b/EmulatorPkg/Include/Protocol/EmuThunk.h > @@ -2,6 +2,7 @@ >Emulator Thunk to abstract OS services from pure EFI code > >Copyright (c) 2008 - 2011, Apple Inc. All rights reserved. > + Copyright (c) 2023, Intel Corporation. All rights reserved. > >SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -148,12 +149,12 @@ VOID > typedef > VOID > (EFIAPI *EMU_GET_TIME)( > - OUT EFI_TIME *Time, > + OUT EFI_TIME*Time, >OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL >); > > typedef > -VOID > +EFI_STATUS > (EFIAPI *EMU_SET_TIME)( >IN EFI_TIME *Time >); > diff --git a/EmulatorPkg/Unix/Host/EmuThunk.c > b/EmulatorPkg/Unix/Host/EmuThunk.c > index ee0843eebf..c57c105a53 100644 > --- a/EmulatorPkg/Unix/Host/EmuThunk.c > +++ b/EmulatorPkg/Unix/Host/EmuThunk.c > @@ -387,14 +387,14 @@ SecGetTime ( >} > } > > -VOID > +EFI_STATUS > SecSetTime ( >IN EFI_TIME *Time >) > { >// Don't change the time on the system >// We could save delta to localtime() and have SecGetTime adjust return > values? > - return; > + return EFI_UNSUPPORTED; > } > > EFI_STATUS > -- > 2.39.2.windows.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113320): https://edk2.groups.io/g/devel/message/113320 Mute This Topic: https://groups.io/mt/103312902/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-