Pushed as 9cf1d03 > -----Original Message----- > From: devel@edk2.groups.io <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 <af...@apple.com>; Ni, Ray <ray...@intel.com>; Kinney, > Michael D <michael.d.kin...@intel.com>; Chiu, Chasel > <chasel.c...@intel.com> > 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 <af...@apple.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Chasel Chiu <chasel.c...@intel.com> > Signed-off-by: Nate DeSimone <nathaniel.l.desim...@intel.com> > --- > 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.<BR> > + Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> > > 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] -=-=-=-=-=-=-=-=-=-=-=-