Reviewed-by: Liming Gao <liming....@intel.com> > -----Original Message----- > From: Kinney, Michael D <michael.d.kin...@intel.com> > Sent: Monday, June 15, 2020 8:19 AM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Sean Brogan > <sean.bro...@microsoft.com>; Bret Barkelew <bret.barke...@microsoft.com>; > Yao, Jiewen <jiewen....@intel.com> > Subject: [Patch 02/15] MdePkg/BaseCpuLibNull: Add Null version of CpuLib for > host testing > > https://bugzilla.tianocore.org/show_bug.cgi?id=2798 > > The services in CpuLib usually generate exceptions in a unit test > host application. Provide a Null instance that can be safely used. > > This Null instance can also be used as a template for implementing > new instances of CpuLib. > > Cc: Liming Gao <liming....@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Cc: Bret Barkelew <bret.barke...@microsoft.com> > Cc: Jiewen Yao <jiewen....@intel.com> > Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com> > --- > .../Library/BaseCpuLibNull/BaseCpuLibNull.c | 37 +++++++++++++++++++ > .../Library/BaseCpuLibNull/BaseCpuLibNull.inf | 26 +++++++++++++ > .../Library/BaseCpuLibNull/BaseCpuLibNull.uni | 11 ++++++ > MdePkg/MdePkg.dsc | 3 +- > 4 files changed, 76 insertions(+), 1 deletion(-) > create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.c > create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf > create mode 100644 MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.uni > > diff --git a/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.c > b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.c > new file mode 100644 > index 0000000000..3ba7a35096 > --- /dev/null > +++ b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.c > @@ -0,0 +1,37 @@ > +/** @file > + Null instance of CPU Library. > + > + Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +/** > + Places the CPU in a sleep state until an interrupt is received. > + > + Places the CPU in a sleep state until an interrupt is received. If > interrupts > + are disabled prior to calling this function, then the CPU will be placed > in a > + sleep state indefinitely. > + > +**/ > +VOID > +EFIAPI > +CpuSleep ( > + VOID > + ) > +{ > +} > + > +/** > + Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU. > + > + Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU. > + > +**/ > +VOID > +EFIAPI > +CpuFlushTlb ( > + VOID > + ) > +{ > +} > diff --git a/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf > b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf > new file mode 100644 > index 0000000000..a9e8399038 > --- /dev/null > +++ b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf > @@ -0,0 +1,26 @@ > +## @file > +# Null instance of CPU Library. > +# > +# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = BaseCpuLibNull > + MODULE_UNI_FILE = BaseCpuLibNull.uni > + FILE_GUID = 8A29AAA5-0FB7-44CC-8709-1344FE89B878 > + MODULE_TYPE = BASE > + VERSION_STRING = 1.0 > + LIBRARY_CLASS = CpuLib > + > +# > +# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 RISCV64 > +# > + > +[Sources] > + BaseCpuLibNull.c > + > +[Packages] > + MdePkg/MdePkg.dec > diff --git a/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.uni > b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.uni > new file mode 100644 > index 0000000000..1030221d5c > --- /dev/null > +++ b/MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.uni > @@ -0,0 +1,11 @@ > +// /** @file > +// Null instance of CPU Library. > +// > +// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> > +// SPDX-License-Identifier: BSD-2-Clause-Patent > +// > +// **/ > + > +#string STR_MODULE_ABSTRACT #language en-US "Null Instance of > CPU Library" > + > +#string STR_MODULE_DESCRIPTION #language en-US "Null instance of > CPU Library." > diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc > index 6cd38e7ec3..3abe65ec7f 100644 > --- a/MdePkg/MdePkg.dsc > +++ b/MdePkg/MdePkg.dsc > @@ -1,7 +1,7 @@ > ## @file > # EFI/PI MdePkg Package > # > -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2007 - 2020, Intel Corporation. All rights reserved.<BR> > # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> > # (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> > # > @@ -36,6 +36,7 @@ [Components] > MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf > MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf > MdePkg/Library/BaseCpuLib/BaseCpuLib.inf > + MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf > MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf > MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf > MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf > -- > 2.21.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#62307): https://edk2.groups.io/g/devel/message/62307 Mute This Topic: https://groups.io/mt/74885909/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-