41 Commits

Author SHA1 Message Date
Michael Kubacki
df65f5d85c MinPlatformPkg: Fix invalid debug macros
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4094

Updates several debug macros in MinPlatformPkg to correctly match
print specifiers to actual arguments.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Revied-by: Isaac Oram <isaac.w.oram@intel.com>
2022-10-10 14:11:55 -07:00
Michael Kubacki
7f63ab7da9 MinPlatformPkg/TestPointCheckLib: Fix out of bounds array index access
The following code accesses array index "6" which is invalid as
the array is of length 6.

  DEBUG ((DEBUG_INFO, " %08x %08x %08x %08x %08x %08x",
    PciData->Device.Bar[0],
    PciData->Device.Bar[1],
    PciData->Device.Bar[2],
    PciData->Device.Bar[3],
    PciData->Device.Bar[4],
    PciData->Device.Bar[6]   <-- BAD ARRAY INDEX
    ));

PciData is of type "PCI_TYPE00":

  typedef struct {
    PCI_DEVICE_INDEPENDENT_REGION    Hdr;
    PCI_DEVICE_HEADER_TYPE_REGION    Device;
  } PCI_TYPE00;

"PCI_DEVICE_HEADER_TYPE_REGION":

typedef struct {
  UINT32    Bar[6];          <- NOTE: ARRAY LENGTH IS 6
  UINT32    CISPtr;
  UINT16    SubsystemVendorID;
  UINT16    SubsystemID;
  UINT32    ExpansionRomBar;
  UINT8     CapabilityPtr;
  UINT8     Reserved1[3];
  UINT32    Reserved2;
  UINT8     InterruptLine;
  UINT8     InterruptPin;
  UINT8     MinGnt;
  UINT8     MaxLat;
} PCI_DEVICE_HEADER_TYPE_REGION;

This change fixes the array index value.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
2022-09-09 07:42:37 -07:00
Michael Kubacki
60053f3077 MinPlatformPkg/TestPointCheckLib: Remove unnecessary GetVariable2() call
The data buffer returned from the GetVariable2() call in
TestPointCheckMemoryTypeInformation() is not actually used or freed.

This change removes the unnecessary function call.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
2022-08-08 12:07:26 -07:00
Michael Kubacki
ea2a520c83 MinPlatformPkg/TestPointCheckLib: Prevent modification of HOB data
DumpMemoryTypeInfoSummary() is used to dump information about the
MemoryTypeInformation HOB. The dump function currently modifies the
data which can corrupt the data for later HOB consumers in the DXE
phase.

This change makes DumpMemoryTypeInfoSummary() treat the data as
read-only.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
2022-08-08 12:00:59 -07:00
Michael Kubacki
170f455d1b MinPlatformPkg/TestPointCheckLib: Fix mis-parsed HSTI structures
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3612

Printing corruption can occur if the DumpHsti helper function
encounters a structure from the IHV (i.e. one that contains
the 'Required' field).

Co-authored-by: Bret Barkelew <bret@corthon.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-04-06 17:51:09 -07:00
Michael Kubacki
871ce778eb MinPlatformPkg/TestPointCheckLib: Fix DMAR structure length calculation
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3768

When processing DMAR structures of type
EFI_ACPI_DMAR_STRUCTURE_HEADER within the ACPI DMAR table, the code
determines the structure length by subtracting the DMAR structure
headers present from the overall DMAR ACPI table size.

The terminating condition is that the remaining total DMAR length
is greater than zero. However, the current DMAR structure length
is subtracted after the DMAR structure pointer has already been
assigned to the next structure.

This change subtracts the current DMAR structure length before
transitioning to the next structure.

The terminating condition is also updated to ensure the remaining
size is at least as large as the expected structure header size.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-12-13 16:23:09 -08:00
Benjamin Doron
c9fff3e9ef MinPlatformPkg/Test/TestPointCheckLib: Correctly print memory map entry
In the case that there are too many EfiRuntimeServicesData entries, this
was incorrectly printing the number of EfiRuntimeServicesCode entries.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-12 22:25:54 -07:00
Michael Kubacki
89fb75acab MinPlatformPkg/TestPointCheckLib: Make OutTable parameter optional
Makes the OutTable parameter in DumpAcpiRsdt() and DumpAcpiXsdt()
optional since the pointer passed can be NULL if the Signature
pointer is also NULL.

Can fix a potential failure in TestPointCheckAcpi().

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-09 12:23:29 -07:00
Michael Kubacki
5021f01517 MinPlatformPkg/TestPointCheckLib: Improve adjacent region checking
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3521

The current logic depends on a particular order in which the
descriptors for three or more regions are placed in the array to
perform proper adjacency checking. When three or more regions are
all adjacent, but neighboring descriptors are not adjacent, the
logic can improperly report a failure. Adjust the logic so that
all descriptors are checked for adjacency.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-09 12:23:29 -07:00
Michael Kubacki
d4045cd508 MinPlatformPkg/TestPointCheckLib: Fix incorrect array index
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3520

TestPointSmmEndOfDxeSmrrFunctional() uses the incorrect byte index
to skip the test. It should use byte 6 instead of byte 5.

Also defines a macro "TEST_POINT_INDEX_BYTE6_SMM" for the byte index
6 value.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-09 12:23:29 -07:00
Michael Kubacki
d82cc1c137 MinPlatformPkg/TestPointCheckLib: Set required size field in protocol
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3518

Per the protocol definition, the caller must allocate the input
structure and set the size field. TestPointCheckTcgTrustedBoot()
does not do this which can result in an EFI_BUFFER_TOO_SMALL error.

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-09 12:23:29 -07:00
Michael Kubacki
5b257da6dc MinPlatformPkg/TestPointCheckLib: Fix MessageLength cast issue
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3531

The MessageLength field of EFI_MM_COMMUNICATE_HEADER as defined in
MdePkg/Include/Protocol/MmCommunication.h was updated to a fixed
size as opposed to UINTN to avoid ambiguity between different
caller enviornments.

This change updates the MessageLength usage in MinPlatformPkg to
support the new field structure, in turn, fixing a build issue.

Original edk2 change:
  https://bugzilla.tianocore.org/show_bug.cgi?id=3398

Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-08-09 12:23:29 -07:00
Yanming Zhu
ba19046d1f MinPlatformPkg: Change Several modules.
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3034

The duplicated FILE_GUIDS in several files have
been changed to make their GUids unique

Cc:Chasel Chiu <chasel.chiu@intel.com>
Cc:Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc:Liming Gao <gaoliming@byosoft.com.cn>
Cc:Eric Dong <eric.dong@intel.com>

Signed-off-by: Yanming Zhu <zhuyanming@byosoft.com.cn>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2021-01-19 15:42:26 -08:00
Shenglei Zhang
d7d56f370d MinPlatformPkg/TestPointCheckLib: Add check for pointers
In DxeCheckBootVariable.c, add check for BootOrder and Variable
in the if statement.
In DxeCheckGcd.c, add check for GcdIoMap to ensure it not NULL
when allocating memory to what it points to.

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
2019-09-23 13:22:28 +08:00
Shenglei Zhang
6de27a0ca5 MinPlatformPkg/TestPointCheckLib: Add check for pointer Variable
Add check for pointer Variable to ensure it is not NULL when used.

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
2019-09-23 13:22:28 +08:00
Zhang, Shenglei
f802814cf7 MinPlatformPkg/TestPointCheckLib: Add return value when OutTable is NULL
Currently there is no check for the parameter OutTable.
So add the logic that return value EFI_INVALID_PARAMETER when the
OutTable is NULL.

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-09-18 21:28:52 -07:00
Marc W Chen
de0fb79a14 MinPlatformPkg: Clean up duplicated SmramMemoryReserve.h files
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2108

SmramMemoryReserve.h has been added into
Edk2\MdePkg\Include\Guid\SmramMemoryReserve.h.

The duplicated header file can be clean up.
Edk2Platforms\Platform\Intel\MinPlatformPkg\Include\Guid\SmramMemoryReserve.h

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>

Co-authored-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Marc W Chen <marc.w.chen@intel.com>
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
2019-09-11 11:12:12 -07:00
Shenglei Zhang
978d74d851 Platform/MinPlatformPkg: Add missing header files in INF files
The header files are used but missing in INF,which causes
warning message when building them.
https://bugzilla.tianocore.org/show_bug.cgi?id=2037

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-08-28 23:33:29 +08:00
Michael D Kinney
9c576ef3b0 Platform/Intel/MinPlatformPkg: Replace BSD License with BSD+Patent License
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-05-17 14:21:52 -07:00
Hao Wu
b7a77dcb74 MinPlatformPkg/Test: Update to consume SpeculationBarrier
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1417

Since BaseLib API AsmLfence() is a x86 arch specific API and should be
avoided using in generic codes, this commit replaces the usage of
AsmLfence() with arch-generic API SpeculationBarrier().

Cc: Michael A Kubacki <michael.a.kubacki@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:59 +08:00
Hao Wu
cbffa00676 MinPlatformPkg/Test: [CVE-2017-5753] Fix bounds check bypass
Speculative execution is used by processor to avoid having to wait for
data to arrive from memory, or for previous operations to finish, the
processor may speculate as to what will be executed.

If the speculation is incorrect, the speculatively executed instructions
might leave hints such as which memory locations have been brought into
cache. Malicious actors can use the bounds check bypass method (code
gadgets with controlled external inputs) to infer data values that have
been used in speculative operations to reveal secrets which should not
otherwise be accessed.

This commit will focus on the SMI handler(s) registered within
TestPointCheckLib & TestPointLib and insert AsmLfence API to mitigate the
bounds check bypass issue.

A. For SMI handler TestPointSmmHandler() within TestPointCheckLib:

Under "case TEST_POINT_SMM_COMMUNICATION_FUNC_ID_UEFI_GCD_MAP_INFO:",
'CommBuffer' (controlled external inputs) is passed into function
TestPointSmmReadyToBootSmmPageProtectionHandler().

Within function TestPointSmmReadyToBootSmmPageProtectionHandler(), the
contents in 'CommBuffer' will be copied into 'CommData'. But if the size
and sanity checks for the communication buffer is speculatively bypassed,
'(UINTN)CommData + CommData->UefiMemoryMapOffset)' can potentially point
to cross boundary area of 'CommData'. This pointer is then passed into
function TestPointCheckSmmCommunicationBuffer() as 'UefiMemoryMap'.

Within function TestPointCheckSmmCommunicationBuffer(),
'MemoryMap->PhysicalStart' can be a potential cross boundary access. And
its value can be inferred by function calls sequence:

TestPointCheckPageTable() via 'BaseAddress'
GetPageTableEntry() via 'BaseAddress'. Then one can observe which part of
the content within arrays 'L4PageTable', 'L3PageTable', 'L2PageTable' or
'L1PageTable', was brought into cache to possibly reveal the value.

B. For SMI handler SmmTestPointSmiHandler() within TestPointLib:

Under "case SMI_HANDLER_TEST_POINT_COMMAND_GET_DATA_BY_OFFSET:",
'CommBuffer' (controlled external inputs) is passed into function
SmmTestPointSmiHandlerGetDataByOffset().

Within function SmmTestPointSmiHandlerGetDataByOffset(), the contents in
'CommBuffer' will be copied into 'SmiHandlerTestPointGetDataByOffset'. But
if the size and sanity checks for the communication buffer is
speculatively bypassed, 'SmiHandlerTestPointGetDataByOffset.DataSize' can
be a potential cross boundary access.

Then in function SmiHandlerTestPointCopyData(), this value can be inferred
by code:
  CopyMem(
    DataBuffer,
    (UINT8 *)InputData + *DataOffset,
    (UINTN)*DataSize
    );
One can observe which part of the content within 'DataBuffer' was brought
into cache to possibly reveal the cross boundary access value.

Hence, this commit adds AsmLfence() calls after the boundary/range checks
of the communication buffer to prevent the speculative execution.

A more detailed explanation of the purpose of commit is under the
'Bounds check bypass mitigation' section of the below link:
https://software.intel.com/security-software-guidance/insights/host-firmware-speculative-execution-side-channel-mitigation

And the document at:
https://software.intel.com/security-software-guidance/api-app/sites/default/files/337879-analyzing-potential-bounds-Check-bypass-vulnerabilities.pdf

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:59 +08:00
Michael Kubacki
1b50897b20 MinPlatformPkg: Add function descriptions for minimum platform interfaces.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:58 +08:00
Jiewen Yao
3ea0561489 Enable MinPlatformPkg to boot with EDK2 platform. Validated on an open server platform.
1)	MinPlatform.dec
a)	Add PcdFspWrapperBootMode to control different behavior in FSP wrapper mode and EDKII mode (by PlatformInitPei)
b)	Add gPeiBaseMemoryTestPpiGuid and gPeiPlatformMemorySizePpiGuid – they are used for EDKII boot mode.
c)	Rename MADT related PCD for server (PcdLocalApicAddress/PcdLocalApicMmioSize/PcdIoApicAddress/PcdIoApicMmioSize/PcdIoApicId)
d)	Add MADT related PCD for multi IO APIC for server (PcdPcIoApicCount/PcdPcIoApicIdBase/PcdPcIoApicAddressBase/PcdPcIoApicInterruptBase)
e)	Add HPET related PCD (PcdHpetTimerBlockId)
f)	Add FADT related PCD (PcdFadtPreferredPmProfile/PcdFadtIaPcBootArch/PcdFadtFlags)
g)	Add PCD for DXE Silicon module flash address (PcdFlashFvFspUBase/PcdFlashFvFspUSize/PcdFlashFvFspUOffset)
h)	Make Flash Address PCD to be patchable, so that it can be updated in binary FV.
2)	Include
a)	DSC/FDF: Do not always include the module, which might be from silicon code, such as SEC/CpuDxe/SmmCpu/PciHostBridge.
b)	DSC/FDF: UiApp.inf – fix a bug that UIAPP does not have boot manager.
c)	DSC/FDF: DP.inf – sync to latest performance dump tool in ShellPkg.
3)	Update AcpiPlatform for server platform
a)	Construct MADT from scratch.
b)	Construct MCFG from scratch.
4)	CompressLib
a)	Add CompressLib class and instance so that MRC data can be compressed.
5)	PlatformInitPei
a)	Produce BaseMemoryTestPpi and PlatformMemorySizePpi in EDKII boot mode.
b)	Install FV in FSPM/FSPS/FSPU in EDKII boot mode.
c)	Move SecurityFv/AdvancedFv installation from SEC to PlatformInitPei.
d)	Remove BuildFvHob for flash region – it is a bug.
e)	Mark above 4GiB MMIO to be uncatchable.
6)	PciSegmentInfoLib
a)	Handle the case that the lib is linked by a DXE module only.
7)	PlatformSecLib
a)	Move SecurityFv/AdvancedFv installation from SEC to PlatformInitPei.
8)	SpiFvbService
a)	Do not use fixed PCD, so that the address can be patchable.
9)	TestPoint
a)	Enhance the logic to check if a memory is in save state area or not. (Support PcdCpuHotPlugSupport)
10)	Add python tool
a)	AmlGenOffset.py – generate ACPI patch table.
b)	ParseVar.py – parse the VarBin generated by FCE tool and output PCD value.
c)	PatchFv/PatchBfv.py – patch the BFV address in ResetVector.bin
d)	PatchFv/PatchBinFv.py – patch patchable PCD in a given FV according to build report.
e)	PatchFv/RebaseBinFv.py – rebase a given FV to a new address.
f)	PatchFv/SyncBinFvInf.py – generate INF for a binary FV.

Cc: Michael A Kubacki <michael.a.kubacki@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Isaac W Oram <isaac.w.oram@intel.com>
Cc: Brett Wang <brett.wang@intel.com>
Cc: Daocheng Bu <daocheng.bu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:57 +08:00
Marvin Häuser
88fcae2e60 MinPlatformPkg/TestPointCheckLib: Add missing braces to a GUID definition.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:57 +08:00
Marvin Häuser
96d14e5c28 MinPlatformPkg/TestPointCheckLib: Remove unused variables.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2019-05-13 09:19:57 +08:00