Date   

Re: [PATCH v1 0/1] Added GOP driver for DisplayLink-based Universal USB Docks to edk2-platforms

Andy Hayes
 

On Thu, Aug 15, 2019 at 10:15:48AM +0000, Andy Hayes wrote:
> Thanks very much for the very quick feedback from both of you - I
> really appreciate it. I'll fix the issues that you pointed out and
> re-submit the patch.

Thanks!

> I've been testing the build with VisualStudio 2015 and GCC 7.3. (VS
> for X64, GCC5 for IA32/X64/ARM/AARCH64) I had a bit of trouble
> getting the clang build to work but I'll try it again to make sure
> that I don't introduce any other errors.

Yeah, the compilers (especially GCC/clang) are getting pickier
My baseline today is Clang 7 and GCC 8.3. Testing with Clang 8 and
GCC9 is definitely becoming relevant, but could in most cases replace
testing with GCC 8.

> The way that the C structures are initialized - what other compilers
> need to be tested to make sure there is sufficient support for this
> syntax? (I believe the syntax is a C99 thing).

Well, in this case, the "problem" is that the compiler generates calls
to "known to be there" libc helper functions. Which aren't for us.
On the IA32/X64 side, these rules have been put in place.
On the ARM/AARCH64 side, we have ArmPkg/Library/CompilerIntrinsicsLib,
which on (32-bit) ARM was a fundamental necessity for other reasons.

So testing with a particular compiler version may or may not trigger
the issue, and seemingly unrelated future code changes may nudge the
compiler into doing something else instead. So it's not exactly
foolproof.

> I know that there is a big list in tools.def, but realistically
> which ones do you have to be sure work correctly, to cover the
> majority of users? It's easy enough to cover all of the versions of
> GCC and CLANG for, say, X86/X64/ARM/AARCH64, but how far back with
> Visual Studio versions do I need to go?

I don't expect everyone to test everything - only to test more than
one option and fix things as reported. Unless it's core code.

It *would* be perfetcly valid (though less than ideal) to have
external device drivers not supported by the full set of toolchains.
Of course, making your code build with multiple toolchains frequently
flush out latent bugs, so...
In this case, the changes were all pretty trivial, so I would prefer
to see them implemented.

We have some cleanup work to do on the cross-compilation aspect in
general for !VS. While it can be nudged into working, it works
differently on ARM and X64.

Personally, I worry mostly about compatibility with the toolchain
versions included in the latest stable version of Debian (since that's
the distribution people tend to complain about lagging behind :). From
Debian Buster, we finally have cross-compilation symmetry
AARCH64<->X64.

For something like UDK, we *should* probably worry about all versions
included in all LTS Linux distro releases, but...

> > I am curious how this driver interacts with the ConSplitter when
> > displays are hot added and hot removed. I see a reference to a
> > feature that appears to sync the GOP content between frame buffers
> > when a display is hot added. I would be better if the common code in
> > the ConSplitter handled these types of operations instead of putting
> > that code in individual GOP drivers. I have added Ray to this thread
> > who may have ideas on how to handle these hot add events.
>
> I think the code that you are looking at that syncs GOP content
> might be a debug feature, rather than a hotplug handler. We found
> that some platforms only render to the first GOP device that they
> find, so I added the ability to build a version of the driver (using

> the build flag COPY_PIXELS_FROM_PRIMARY_GOP_DEVICE) that
> "steals" the pixels from another GOP framebuffer and displays them
> on our output, to check that our driver fundamentally works on that
> platform. This code is excluded in a normal build. Most platforms
> are well-behaved and render to all GOP devices correctly.

Best Regards,

Leif

> In general we've found that hotplug of our device works fine,
> without us having to do anything special in the driver. Note that
> the system will initially see this as a USB hotplug rather than a
> display hotplug. For various reasons we decided not to support
> display hotplug (i.e. plugging and unplugging displays into out
> device once our device is plugged in to USB and initialized) in the
> driver, mainly to keep things simple.
>
> Thanks again for your help,
>
> Andy Hayes
>
> From: Kinney, Michael D <michael.d.kinney@...>
> Sent: 14 August 2019 16:23
> To: Andy Hayes <andy.hayes@...>; devel@edk2.groups.io; Ni, Ray <ray.ni@...>; Kinney, Michael D <michael.d.kinney@...>
> Cc: Leif Lindholm <leif.lindholm@...>
> Subject: [External] RE: [PATCH v1 0/1] Added GOP driver for DisplayLink-based Universal USB Docks to edk2-platforms
>
> Hi Andy,
>
> Thanks for the contribution. Is this patch for the edk2-platform repo? The email subject can help clarify the intended repo.
>
> Also, we prefer the patches to be provided inline instead of an attachment. You can use the
> 'git send-email' feature to do this. Here are a couple links to useful wikis.
>
> https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-Process<https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-Process>
> https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers<https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers>
>
> I also noticed looking at the patch file that there are some inconsistencies with the
> EDK II C Coding Standards. Most are around function headers and indents. Here is a link
> to the latest version:
>
> https://www.gitbook.com/download/pdf/book/edk2-docs/edk-ii-c-coding-standards-specification<https://www.gitbook.com/download/pdf/book/edk2-docs/edk-ii-c-coding-standards-specification>
>
> I see a few #if 0 and commented out lines of code and TODO comments. Can you please clean these up
> and if needed add Tianocore Bugzillas for future enhancements/work items for this driver.
>
> https://bugzilla.tianocore.org/<https://bugzilla.tianocore.org/>
>
> I also noticed that you are using named fields to initialize C structures:
>
> STATIC CONST struct VideoMode ModeData[] = {
> + {
> + // 640 x 480 @ 60Hz
> + .Reserved2 = 2,
> + .PixelClock = 2517,
> + .HActive = 640,
> + .HBlanking = 160,
> + .HSyncOffset = 16,
> + .HSyncWidth = 96,
>
> I do like this style because it has better self documentation of the field being
> initialized to a value. However, I do not see this style in the rest of the EDK II
> sources, so I am concerned that we may have required compilers for the EDK II
> that may not support this syntax.
>
> If we find all the supported compilers do support this syntax, this would be
> a great addition to the EDK II C Coding Standards.
>
> I am curious how this driver interacts with the ConSplitter when displays
> are hot added and hot removed. I see a reference to a feature that appears
> to sync the GOP content between frame buffers when a display is hot added.
> I would be better if the common code in the ConSplitter handled these types
> of operations instead of putting that code in individual GOP drivers. I have
> added Ray to this thread who may have ideas on how to handle these hot
> add events.
>
> Thanks,
>
> Mike
>
> From: Andy Hayes [mailto:andy.hayes@...]
> Sent: Wednesday, August 14, 2019 7:44 AM
> To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: Leif Lindholm <leif.lindholm@...<mailto:leif.lindholm@...>>; Kinney, Michael D <michael.d.kinney@...<mailto:michael.d.kinney@...>>
> Subject: [PATCH v1 0/1] Added GOP driver for DisplayLink-based Universal USB Docks to edk2-platforms
>
> From 4a42eb997aeb3699217b40bf3bc47dec56458847 Mon Sep 17 00:00:00 2001
> From: "Andy Hayes" < andy.hayes@...<mailto:andy.hayes@...> >
> Date: Wed, 14 Aug 2019 15:30:20 +0100
> Subject: [PATCH v1 0/1] Added GOP graphics driver for DisplayLink-based Universal USB Docks to edk2-platforms
>
> andy.hayes@...<mailto:andy.hayes@...> (1):
> Added GOP driver for USB Docks which use DisplayLink chips.
>
> .../DisplayLinkPkg/DisplayLinkPkg.dsc | 61 +
> .../DisplayLinkGop/DisplayLinkGopDxe.inf | 63 +
> .../DisplayLinkPkg/DisplayLinkGop/Edid.h | 129 ++
> .../DisplayLinkGop/UsbDescriptors.h | 109 ++
> .../DisplayLinkGop/UsbDisplayLink.h | 284 +++++
> .../DisplayLinkGop/CapabilityDescriptor.c | 137 ++
> .../DisplayLinkGop/ComponentName.c | 235 ++++
> .../DisplayLinkPkg/DisplayLinkGop/Edid.c | 598 +++++++++
> .../DisplayLinkPkg/DisplayLinkGop/Gop.c | 587 +++++++++
> .../DisplayLinkGop/UsbDescriptors.c | 144 +++
> .../DisplayLinkGop/UsbDisplayLink.c | 1109 +++++++++++++++++
> .../DisplayLinkGop/UsbTransfer.c | 180 +++
> .../DisplayLinkGop/VideoModes.c | 254 ++++
> Drivers/DisplayLink/DisplayLinkPkg/ReadMe.md | 77 ++
> Maintainers.txt | 5 +
> 15 files changed, 3972 insertions(+)
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkPkg.dsc
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/DisplayLinkGopDxe.inf
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/Edid.h
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/UsbDescriptors.h
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/UsbDisplayLink.h
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/CapabilityDescriptor.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/ComponentName.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/Edid.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/Gop.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/UsbDescriptors.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/UsbDisplayLink.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/UsbTransfer.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/DisplayLinkGop/VideoModes.c
> create mode 100644 Drivers/DisplayLink/DisplayLinkPkg/ReadMe.md
>
> --
> 2.17.1


Re: [edk2-platforms: PATCH 1/1] Platforms/RPi3: Add multiple embedded Device Tree selection

Leif Lindholm
 

On Mon, Aug 12, 2019 at 02:06:34PM +0100, Pete Batard wrote:
The Raspberry Pi 3 platform currently has 2 different models, each with a
different Device Tree. Rather than embedding a single one, and requiring
users to manually provide the other, this patch ensures that we now embed
both and and serve the relevant one at runtime.

Signed-off-by: Pete Batard <pete@akeo.ie>
Changeset looks very useful. Some style issues. And one question.

First the question: is there no practical size restriction on the
firmware image? This is a 24k increase in image size.

---
Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c | 57 ++++++++++++++++----
Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf | 3 +-
Platform/RaspberryPi/RPi3/RPi3.dec | 3 +-
Platform/RaspberryPi/RPi3/RPi3.fdf | 6 ++-
4 files changed, 55 insertions(+), 14 deletions(-)

diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c b/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
index c84e5b2767e2..7c0ab75e7cb1 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
+++ b/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.c
@@ -20,6 +20,11 @@

#include <Guid/Fdt.h>

+CONST EFI_GUID *mFdtGuid[] = {
+ &gRaspberryPiFdtGuid1,
+ &gRaspberryPiFdtGuid2,
+ };
+
STATIC VOID *mFdtImage;

STATIC RASPBERRY_PI_FIRMWARE_PROTOCOL *mFwProtocol;
@@ -368,7 +373,9 @@ FdtDxeInitialize (
EFI_STATUS Status;
VOID *FdtImage;
UINTN FdtSize;
+ UINTN FdtIndex;
INT32 Retval;
+ UINT32 BoardRevision;
BOOLEAN Internal;

Status = gBS->LocateProtocol (&gRaspberryPiFirmwareProtocolGuid, NULL,
@@ -383,13 +390,41 @@ FdtDxeInitialize (
* Have FDT passed via config.txt.
*/
FdtSize = fdt_totalsize (FdtImage);
This
- DEBUG ((DEBUG_INFO, "DTB passed via config.txt of 0x%lx bytes\n", FdtSize));
+ DEBUG ((DEBUG_INFO, "Device Tree passed via config.txt (0x%lx bytes)\n", FdtSize));
looks unrelated to the changeset.

Status = EFI_SUCCESS;
} else {
+ /*
+ * Use one of the embedded FDT's.
+ */
Internal = TRUE;
This DEBUG changes bit
- DEBUG ((DEBUG_INFO, "No/bad FDT at %p (%a), trying internal DTB...\n",
- FdtImage, fdt_strerror (Retval)));
- Status = GetSectionFromAnyFv (&gRaspberryPiFdtFileGuid, EFI_SECTION_RAW, 0,
+ DEBUG ((DEBUG_INFO, "No/Bad Device Tree found at address 0x%p (%a), "
+ "looking up internal one...\n", FdtImage, fdt_strerror (Retval)));
to here looks completely unrelated to the changeset.
Which garbles the diff somewhat with regards to the functional line in
the middle..

+ /*
+ * Query the board revision to differentiate between models.
+ */
+ Status = mFwProtocol->GetModelRevision (&BoardRevision);
+ if (EFI_ERROR (Status)) {
+ FdtIndex = 0;
+ DEBUG ((DEBUG_ERROR, "Failed to get board type: %r\n", Status));
+ } else {
+ // www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md
+ switch ((BoardRevision >> 4) & 0xFF) {
+ case 0x08: // Raspberry 3 Model B
+ DEBUG ((DEBUG_INFO, "Using RPi3 Model B internal Device Tree\n"));
+ FdtIndex = 0;
+ break;
+ case 0x0D: // Raspberry 3 Model B+
+ DEBUG ((DEBUG_INFO, "Using RPi3 Model B+ internal Device Tree\n"));
+ FdtIndex = 1;
+ break;
+ default:
+ DEBUG ((DEBUG_INFO, "Using default internal Device Tree\n"));
+ FdtIndex = 0;
+ break;
+ }
+ }
+ ASSERT (FdtIndex < ARRAY_SIZE (mFdtGuid));
+ Status = GetSectionFromAnyFv (mFdtGuid[FdtIndex], EFI_SECTION_RAW, 0,
&FdtImage, &FdtSize);
if (Status == EFI_SUCCESS) {
if (fdt_check_header (FdtImage) != 0) {
Everything from here...

@@ -419,27 +454,27 @@ FdtDxeInitialize (

Status = SanitizePSCI ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to sanitize PSCI (error %d)\n", Status);
+ Print (L"Failed to sanitize PSCI: %r\n", Status);
}

Status = CleanMemoryNodes ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to clean memory nodes (error %d)\n", Status);
+ Print (L"Failed to clean memory nodes: %r\n", Status);
}

Status = CleanSimpleFramebuffer ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to clean frame buffer (error %d)\n", Status);
+ Print (L"Failed to clean frame buffer: %r\n", Status);
}

Status = FixEthernetAliases ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to fix ethernet aliases (error %d)\n", Status);
+ Print (L"Failed to fix ethernet aliases: %r\n", Status);
}

Status = UpdateMacAddress ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to update MAC address (error %d)\n", Status);
+ Print (L"Failed to update MAC address: %r\n", Status);
}

if (Internal) {
@@ -448,11 +483,11 @@ FdtDxeInitialize (
*/
Status = UpdateBootArgs ();
if (EFI_ERROR (Status)) {
- Print (L"Failed to update boot arguments (error %d)\n", Status);
+ Print (L"Failed to update boot arguments: %r\n", Status);
}
}

- DEBUG ((DEBUG_INFO, "Installed FDT is at %p\n", mFdtImage));
+ DEBUG ((DEBUG_INFO, "Installed Device Tree at address 0x%p\n", mFdtImage));
Status = gBS->InstallConfigurationTable (&gFdtTableGuid, mFdtImage);
ASSERT_EFI_ERROR (Status);
...to here is unrelated printout message changes.

So, I don't object to the debug printout changes as such, but they
obscure the functional changeset. Can you please break them out as a
separate patch?

Best Regards,

Leif

diff --git a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf b/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
index 5b0b1a09f374..c994a2b69d78 100644
--- a/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
+++ b/Platform/RaspberryPi/RPi3/Drivers/FdtDxe/FdtDxe.inf
@@ -35,7 +35,8 @@ [LibraryClasses]

[Guids]
gFdtTableGuid
- gRaspberryPiFdtFileGuid
+ gRaspberryPiFdtGuid1
+ gRaspberryPiFdtGuid2

[Protocols]
gRaspberryPiFirmwareProtocolGuid ## CONSUMES
diff --git a/Platform/RaspberryPi/RPi3/RPi3.dec b/Platform/RaspberryPi/RPi3/RPi3.dec
index 22de439fde8f..d90ea8329818 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.dec
+++ b/Platform/RaspberryPi/RPi3/RPi3.dec
@@ -24,7 +24,8 @@ [Protocols]

[Guids]
gRaspberryPiTokenSpaceGuid = {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3, 0x63, 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}}
- gRaspberryPiFdtFileGuid = {0xDF5DA223, 0x1D27, 0x47C3, { 0x8D, 0x1B, 0x9A, 0x41, 0xB5, 0x5A, 0x18, 0xBC}}
+ gRaspberryPiFdtGuid1 = {0xDF5DA223, 0x1D27, 0x47C3, { 0x8D, 0x1B, 0x9A, 0x41, 0xB5, 0x5A, 0x18, 0xBC}}
+ gRaspberryPiFdtGuid2 = {0x3D523012, 0x73FE, 0x40E5, { 0x89, 0x2E, 0x1A, 0x4D, 0xF6, 0x0F, 0x3C, 0x0C}}
gRaspberryPiEventResetGuid = {0xCD7CC258, 0x31DB, 0x11E6, {0x9F, 0xD3, 0x63, 0xB4, 0xB4, 0xE4, 0xD4, 0xB4}}
gConfigDxeFormSetGuid = {0xCD7CC258, 0x31DB, 0x22E6, {0x9F, 0x22, 0x63, 0xB0, 0xB8, 0xEE, 0xD6, 0xB5}}

diff --git a/Platform/RaspberryPi/RPi3/RPi3.fdf b/Platform/RaspberryPi/RPi3/RPi3.fdf
index c62d649834c7..83753d84badc 100644
--- a/Platform/RaspberryPi/RPi3/RPi3.fdf
+++ b/Platform/RaspberryPi/RPi3/RPi3.fdf
@@ -300,11 +300,15 @@ [FV.FvMain]
INF Platform/RaspberryPi/$(PLATFORM_NAME)/Drivers/LogoDxe/LogoDxe.inf

#
- # FDT (GUID matches gRaspberryPiFdtFileGuid in FdtDxe)
+ # Device Tree support
+ # GUIDs match gRaspberryPiFdtGuid# from FdtDxe.
#
FILE FREEFORM = DF5DA223-1D27-47C3-8D1B-9A41B55A18BC {
SECTION RAW = Platform/RaspberryPi/$(PLATFORM_NAME)/DeviceTree/bcm2710-rpi-3-b.dtb
}
+ FILE FREEFORM = 3D523012-73FE-40E5-892E-1A4DF60F3C0C {
+ SECTION RAW = Platform/RaspberryPi/$(PLATFORM_NAME)/DeviceTree/bcm2710-rpi-3-b-plus.dtb
+ }

[FV.FVMAIN_COMPACT]
FvAlignment = 16
--
2.21.0.windows.1


Re: [PATCH] UefiCpuPkg: Adding a new TSC library by using CPUID(0x15) TSC leaf

Vitaly Cheptsov
 

Hi Donald,

Glad to hear it helped a little, and sorry for some outdated quotes.

Your clarification regarding model range is very helpful. Xeon W being client and thus having client clock makes sense, though I must say it was quite not obvious. I was referring to the same SDM table, and it would have been great to have vertical range binding instead of the misleading CPUID.

With that, however, I still do not see a way to dynamically determine the difference between Xeon client and server.

For us it is needed as we use TimerLib differently. For you TimerLib is a part of BSP, so you face no issue statically setting the clock frequency as a PCD. For us TimerLib is used as a part of an UEFI application compatible with different hardware, and in fact not just Intel. We have such "generic TimerLib" library, and to determine CPU frequency, as a fallback to CPUID 15H, it relies on ACPI PM timer. This is not great for two reasons:
- we have to maintain it ourselves, while we would have liked that be part of EDK II with different vendors contributing to the project.
- we still cannot find an obvious way to determine crystal clock when it is not reported, in particular for Xeon W and Xeon Scalable case.

I guess this is now out of the scope of this patch and perhaps even this exact library, but it will be helpful to hear relevant technical details on the issue and opinions on such "generic TimerLib" library to later appear in EDK II.

Best regards,
Vitaly

15 авг. 2019 г., в 11:40, Kuo, Donald <donald.kuo@...> написал(а):

Hi Vitaly,
 
Appreciated for reviewing very detail. And looks your captured some piece of code is older version. And should be ok, I do got your point.
 
Item #1
-          I do missed RegEax error handling in case for CpuidCoreClockCalculateTscFrequency () should return 0 and EFI_UNSUPPORTED. AR: Will update it.
 
Item #2:
-          Actually the information is from SDM Table 18-85
o   As we know CPUID signature could be hard to identify processor XTAL frequency is? So we only check CPUID Leaf 0x15
o   And the PCD will be defined depends on platform specific and during project early development. Based on SDM, Intel processor for CPUID.15h EAX and EBX is enumerated, but ECX could be possible not enumerated. So that is why we based on  SDM Table 18-85 to create PCD as below:
§  Intel Xeon Server family: 25MHz
§  Intel Core and Intel Xeon W family: 24MHz
§  Intel Atom : 19.2MHz
§  So regards the “06_55h” might cause the confused, we could review it whether remove it??
Item #3:
-          Again, the XTAL frequency is optional and should be define in early phase of new project. Default should still use AcpiTimer.
o    Platform / developer owner should well know the CPU generation XTAL frequency is? Server / Client / Atom ?
o   For those CPU not supported should still use AcpiTimerLib (default)
 
Thanks,
Donald
 
From: vit9696 via [] [mailto:vit9696=protonmail.com@[]] 
Sent: Thursday, August 15, 2019 3:20 PM
To: Kuo, Donald <donald.kuo@...>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg: Adding a new TSC library by using CPUID(0x15) TSC leaf
 
Hello,

Thank you for the patch! I reviewed the code and noticed select issues explained below.

1. The following construction:

if (RegEbx == 0) {
DEBUG ((DEBUG_ERROR, "The CPU is not capble for Core Crystal Clock Frequency !!\n"));
ASSERT (RegEbx != 0);
}

Does not look good to me, and in my opinion, should be written differently:

if (RegEbx == 0 || RegEax == 0) {
DEBUG ((DEBUG_ERROR, "The CPU is not capble for Core Crystal Clock Frequency !!\n"));
ASSERT (RegEbx != 0);
  ASSERT (RegEax != 0);
  return 0;
}

The reason for the above code being wrong is potential division by zero below, which behaviour is undefined (and in fact unknown due to unspecified interrupt table state). Even though the intent is to not permit the use of this library on an unsupported platform, runtime checks and assertions are essentially NO-OPs, should be separate and not confused. For this to work properly the call to CpuidCoreClockCalculateTscFrequency should happen in library constructor with EFI_UNSUPPORTED return on CpuidCoreClockCalculateTscFrequency returning 0.

2. The notes about crystal clock frequency for 06_55H CPU signature:
"25000000 - Intel Xeon Processor Scalable Family with CPUID signature 06_55H(25MHz).<BR>\n"
# Intel Xeon Processor Scalable Family with CPUID signature 06_55H = 25000000 (25MHz)

are misleading in both this library and Intel SDM. Intel Xeon W processors have the same CPUID signature (06_55H), they report 0 crystal clock frequency, and their crystal clock frequency is 24 MHz. This should at least be mentioned in the lower part mentioning Intel Xeon W Processor Family(24MHz).

Actually, given that many Intel guys are here, I wonder whether anybody knows if there is any better approach to distinguish Xeon Scalable CPUs and Xeon W CPUs besides using brand string or using marketing frequency from CPUID 16H to determine crystal clock frequency (this is what Linux does at the moment)?

3. Intel Atom Denverton with CPUID signature (06_5FH), also known as Goldmont X, reports 0 crystal clock frequency as well, and has 25 MHz frequency. This is missing from SDM, but once again I believe it should be included in the two places from the above to avoid confusion.

Besides these 3 points, honestly, the library itself appears to be very limited for anything but embedding it into the firmware with known hardware, which already works just fine by defining the PCD. Missing 0 crystal clock frequency handling in runtime with hardcoding the PCD value looks very bad, because the number of modern Intel CPU models reporting 0 crystal clock frequency and having non 24 MHz frequency is quite far from 0. This makes the library essentially impossible to use in any UEFI application or third-party product even when targeting Skylake+ generation. To resolute this I vote for additional detection functionality to be added to the library to obtain crystal clock frequency when the CPUID reports 0. The PCD could be the last resort when no other method works. My opinion is that this should be resolved prior to merging the patch.

Best regards,
Vitaly 


Re: [PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to PHkdfCtx

Zhang, Shenglei
 

Jian,

Yes, you are right.
According to CCS_2_1_Draft, 4.3.3.3, Pointer variables may optionally be prefixed with a 'p'.
So please skip this change.

Thanks,
Shenglei

-----Original Message-----
From: Wang, Jian J
Sent: Thursday, August 15, 2019 5:01 PM
To: Zhang, Shenglei <shenglei.zhang@intel.com>; devel@edk2.groups.io
Cc: Ye, Ting <ting.ye@intel.com>
Subject: RE: [PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to
PHkdfCtx

Shenglei,

I remember the edk2 coding style allows prefix 'p' (optional) to represent a
pointer variable.

Regards,
Jian


-----Original Message-----
From: Zhang, Shenglei
Sent: Thursday, August 15, 2019 4:49 PM
To: devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Ye, Ting <ting.ye@intel.com>
Subject: [PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to
PHkdfCtx

Update pHkdfCtx to PHkdfCtx, to follow the variable naming
rule.

Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../Library/BaseCryptLib/Kdf/CryptHkdf.c | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
index f0fcef211d3f..488346a38b8c 100644
--- a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
+++ b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
@@ -39,7 +39,7 @@ HkdfSha256ExtractAndExpand (
IN UINTN OutSize
)
{
- EVP_PKEY_CTX *pHkdfCtx;
+ EVP_PKEY_CTX *PHkdfCtx;
BOOLEAN Result;

if (Key == NULL || Salt == NULL || Info == NULL || Out == NULL ||
@@ -47,29 +47,29 @@ HkdfSha256ExtractAndExpand (
return FALSE;
}

- pHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
- if (pHkdfCtx == NULL) {
+ PHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
+ if (PHkdfCtx == NULL) {
return FALSE;
}

- Result = EVP_PKEY_derive_init(pHkdfCtx) > 0;
+ Result = EVP_PKEY_derive_init(PHkdfCtx) > 0;
if (Result) {
- Result = EVP_PKEY_CTX_set_hkdf_md(pHkdfCtx, EVP_sha256()) > 0;
+ Result = EVP_PKEY_CTX_set_hkdf_md(PHkdfCtx, EVP_sha256()) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_salt(pHkdfCtx, Salt,
(UINT32)SaltSize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_salt(PHkdfCtx, Salt,
(UINT32)SaltSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_key(pHkdfCtx, Key,
(UINT32)KeySize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_key(PHkdfCtx, Key,
(UINT32)KeySize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_add1_hkdf_info(pHkdfCtx, Info,
(UINT32)InfoSize) > 0;
+ Result = EVP_PKEY_CTX_add1_hkdf_info(PHkdfCtx, Info,
(UINT32)InfoSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_derive(pHkdfCtx, Out, &OutSize) > 0;
+ Result = EVP_PKEY_derive(PHkdfCtx, Out, &OutSize) > 0;
}

- EVP_PKEY_CTX_free(pHkdfCtx);
- pHkdfCtx = NULL;
+ EVP_PKEY_CTX_free(PHkdfCtx);
+ PHkdfCtx = NULL;
return Result;
}
--
2.18.0.windows.1


Re: [PATCH v5 00/35] Specific platform to run OVMF in Xen PVH and HVM guests

Laszlo Ersek
 

On 08/13/19 13:30, Anthony PERARD wrote:
Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v5

Changes in v5:
- patch 23 got a rework of the lapic range skipping
- small fixups in patch 20, 22, 23, 31, 32, 33.
see notes for detail.
This series is now fully covered with maintainer R-b's and A-b's.

I've also done some regression-tests, after applying the set in a topic
branch on top of commit caa7d3a896f6 ("BaseTools/Scripts: Add
GetUtcDateTime script.", 2019-08-15). Including build tests and my usual
boot & S3 tests.

Building for DEBUG (with GCC48) requires the independent fix

[edk2-devel] [PATCH 1/1]
MdeModulePkg/DxeIplPeim: Initialize pointer PageMapLevel5Entry

which was posted at

http://mid.mail-archive.com/20190814073741.16080-1-shenglei.zhang@intel.com
https://edk2.groups.io/g/devel/message/45591

(again, that issue is independent of this series). With that independent
fix, RELEASE builds fine too.

Given that this v5 feature series has now been fully reviewed before
entering the Soft Feature Freeze for edk2-stable201908 -- which will
commence on 2019-08-16 at 00:00:00 UTC-8) --, the set is eligible for
pushing during the Soft Feature Freeze:

https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning
https://github.com/tianocore/tianocore.github.io/wiki/SoftFeatureFreeze

Therefore I'll push v5 no later than 2019-Aug-21, unless a NACK arrives
before that date, from xen-devel or elsewhere.

Thanks
Laszlo

Hi,

I've started to create a Xen specific platform, in OvmfPkg/XenOvmf.dsc
with the goal to make it work on both Xen HVM and Xen PVH.

The first few patches only create the platform and duplicate some code from
OvmfPkg and the later patches makes OVMF boot in a Xen PVH guest and can boot
a Linux guest.

After this patch series, I'd like to wait a bit before removing Xen support
from the OvmfPkg*.dsc, to allow time to switch to the new Xen only platform,
maybe 1 year.

To build and boot:

To build, simply run OvmfPkg/build.sh -p OvmfPkg/OvmfXen.dsc
Then use OVMF.fd as a kernel of a pvh guest config file (with xl/libxl).

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v5

Anthony PERARD (35):
OvmfPkg/ResetSystemLib: Add missing dependency on PciLib
OvmfPkg: Create platform OvmfXen
OvmfPkg: Introduce XenResetVector
OvmfPkg: Introduce XenPlatformPei
OvmfPkg/OvmfXen: Creating an ELF header
OvmfPkg/XenResetVector: Add new entry point for Xen PVH
OvmfPkg/XenResetVector: Saving start of day pointer for PVH guests
OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH
OvmfPkg/OvmfXen: use a TimerLib instance that depends only on the CPU
OvmfPkg/XenPlatformPei: Detect OVMF_INFO from hvmloader
OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820
OvmfPkg/XenPlatformPei: Grab RSDP from PVH guest start of day struct
OvmfPkg/Library/XenPlatformLib: New library
OvmfPkg/AcpiPlatformDxe: Use XenPlatformLib
OvmfPkg/AcpiPlatformDxe: Use Xen PVH RSDP if it exist
OvmfPkg/XenHypercallLib: Enable it in PEIM
OvmfPkg/XenPlatformPei: Reinit XenHypercallLib
OvmfPkg/XenPlatformPei: Introduce XenHvmloaderDetected
OvmfPkg/XenPlatformPei: Setup HyperPages earlier
OvmfPkg/XenPlatformPei: Introduce XenPvhDetected
OvmfPkg: Import XENMEM_memory_map hypercall to Xen/memory.h
OvmfPkg/XenPlatformPei: no hvmloader: get the E820 table via hypercall
OvmfPkg/XenPlatformPei: Rework memory detection
OvmfPkg/XenPlatformPei: Reserve VGA memory region, to boot Linux
OvmfPkg/XenPlatformPei: Ignore missing PCI Host Bridge on Xen PVH
OvmfPkg/XenPlatformLib: Cache result for XenDetected
OvmfPkg/PlatformBootManagerLib: Use XenDetected from XenPlatformLib
OvmfPkg/PlatformBootManagerLib: Handle the absence of PCI bus on Xen
PVH
OvmfPkg/OvmfXen: Override PcdFSBClock to Xen vLAPIC timer frequency
OvmfPkg/OvmfXen: Introduce XenTimerDxe
OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn
OvmfPkg: Introduce PcdXenGrantFrames
OvmfPkg: Introduce XenIoPvhDxe to initialize Grant Tables
OvmfPkg: Move XenRealTimeClockLib from ArmVirtPkg
OvmfPkg/OvmfXen: use RealTimeClockRuntimeDxe from EmbeddedPkg

OvmfPkg/OvmfPkg.dec | 10 +
ArmVirtPkg/ArmVirtXen.dsc | 2 +-
OvmfPkg/OvmfPkgIa32.dsc | 1 +
OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
OvmfPkg/OvmfPkgX64.dsc | 1 +
OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc} | 238 +-------
OvmfPkg/OvmfXen.fdf | 539 ++++++++++++++++++
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 3 +-
.../PlatformBootManagerLib.inf | 6 +-
.../Library/ResetSystemLib/ResetSystemLib.inf | 1 +
.../XenHypercallLib/XenHypercallLib.inf | 4 +-
.../Library/XenPlatformLib/XenPlatformLib.inf | 33 ++
.../XenRealTimeClockLib.inf | 0
OvmfPkg/XenBusDxe/XenBusDxe.inf | 3 +
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf | 36 ++
OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 100 ++++
OvmfPkg/XenResetVector/XenResetVector.inf | 41 ++
OvmfPkg/XenTimerDxe/XenTimerDxe.inf | 42 ++
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 6 +-
OvmfPkg/Include/Guid/XenInfo.h | 8 +-
.../Xen/arch-x86/hvm/start_info.h | 143 +++++
OvmfPkg/Include/IndustryStandard/Xen/memory.h | 23 +
OvmfPkg/Include/Library/XenHypercallLib.h | 12 +
OvmfPkg/Include/Library/XenPlatformLib.h | 53 ++
.../PlatformBootManagerLib/BdsPlatform.h | 1 +
OvmfPkg/XenBusDxe/XenBusDxe.h | 1 +
OvmfPkg/XenPlatformPei/Cmos.h | 52 ++
OvmfPkg/XenPlatformPei/Platform.h | 136 +++++
OvmfPkg/XenPlatformPei/Xen.h | 39 ++
OvmfPkg/XenTimerDxe/XenTimerDxe.h | 177 ++++++
OvmfPkg/AcpiPlatformDxe/Xen.c | 41 +-
.../PlatformBootManagerLib/BdsPlatform.c | 43 +-
.../PlatformBootManagerLib/PlatformData.c | 49 +-
.../Library/ResetSystemLib/ResetSystemLib.c | 3 +-
.../Library/XenHypercallLib/X86XenHypercall.c | 8 +-
.../Library/XenHypercallLib/XenHypercall.c | 16 +
.../Library/XenPlatformLib/XenPlatformLib.c | 81 +++
.../XenRealTimeClockLib/XenRealTimeClockLib.c | 0
OvmfPkg/OvmfXenElfHeaderGenerator.c | 140 +++++
OvmfPkg/PlatformPei/Xen.c | 3 -
OvmfPkg/XenBusDxe/GrantTable.c | 3 +-
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c | 54 ++
OvmfPkg/XenPlatformPei/AmdSev.c | 64 +++
OvmfPkg/XenPlatformPei/ClearCache.c | 112 ++++
OvmfPkg/XenPlatformPei/Cmos.c | 60 ++
OvmfPkg/XenPlatformPei/Fv.c | 76 +++
OvmfPkg/XenPlatformPei/MemDetect.c | 490 ++++++++++++++++
OvmfPkg/XenPlatformPei/Platform.c | 463 +++++++++++++++
OvmfPkg/XenPlatformPei/Xen.c | 388 +++++++++++++
OvmfPkg/XenTimerDxe/XenTimerDxe.c | 355 ++++++++++++
Maintainers.txt | 10 +-
.../XenResetVector/Ia16/Real16ToFlat32.asm | 137 +++++
.../XenResetVector/Ia16/ResetVectorVtf0.asm | 79 +++
.../XenResetVector/Ia32/Flat32ToFlat64.asm | 68 +++
OvmfPkg/XenResetVector/Ia32/PageTables64.asm | 149 +++++
.../XenResetVector/Ia32/SearchForBfvBase.asm | 87 +++
OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm | 84 +++
OvmfPkg/XenResetVector/XenResetVector.nasmb | 71 +++
58 files changed, 4541 insertions(+), 305 deletions(-)
copy OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc} (76%)
create mode 100644 OvmfPkg/OvmfXen.fdf
create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf (100%)
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
create mode 100644 OvmfPkg/XenPlatformPei/XenPlatformPei.inf
create mode 100644 OvmfPkg/XenResetVector/XenResetVector.inf
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.inf
create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/hvm/start_info.h
create mode 100644 OvmfPkg/Include/Library/XenPlatformLib.h
create mode 100644 OvmfPkg/XenPlatformPei/Cmos.h
create mode 100644 OvmfPkg/XenPlatformPei/Platform.h
create mode 100644 OvmfPkg/XenPlatformPei/Xen.h
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.h
create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.c
rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.c (100%)
create mode 100644 OvmfPkg/OvmfXenElfHeaderGenerator.c
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c
create mode 100644 OvmfPkg/XenPlatformPei/AmdSev.c
create mode 100644 OvmfPkg/XenPlatformPei/ClearCache.c
create mode 100644 OvmfPkg/XenPlatformPei/Cmos.c
create mode 100644 OvmfPkg/XenPlatformPei/Fv.c
create mode 100644 OvmfPkg/XenPlatformPei/MemDetect.c
create mode 100644 OvmfPkg/XenPlatformPei/Platform.c
create mode 100644 OvmfPkg/XenPlatformPei/Xen.c
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.c
create mode 100644 OvmfPkg/XenResetVector/Ia16/Real16ToFlat32.asm
create mode 100644 OvmfPkg/XenResetVector/Ia16/ResetVectorVtf0.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/Flat32ToFlat64.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/PageTables64.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/SearchForBfvBase.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm
create mode 100644 OvmfPkg/XenResetVector/XenResetVector.nasmb


Re: CPU hotplug using SMM with QEMU+OVMF

Yao, Jiewen
 

Hi Paolo
I am not sure what do you mean - "You do not need a reset vector ...".
If so, where is the first instruction of the new CPU in the virtualization environment?
Please help me understand that at first. Then we can continue the discussion.

Thank you
Yao Jiewen

-----Original Message-----
From: Paolo Bonzini [mailto:pbonzini@redhat.com]
Sent: Wednesday, August 14, 2019 10:05 PM
To: Yao, Jiewen <jiewen.yao@intel.com>; Laszlo Ersek
<lersek@redhat.com>; edk2-devel-groups-io <devel@edk2.groups.io>
Cc: edk2-rfc-groups-io <rfc@edk2.groups.io>; qemu devel list
<qemu-devel@nongnu.org>; Igor Mammedov <imammedo@redhat.com>;
Chen, Yingwen <yingwen.chen@intel.com>; Nakajima, Jun
<jun.nakajima@intel.com>; Boris Ostrovsky <boris.ostrovsky@oracle.com>;
Joao Marcal Lemos Martins <joao.m.martins@oracle.com>; Phillip Goerl
<phillip.goerl@oracle.com>
Subject: Re: CPU hotplug using SMM with QEMU+OVMF

On 14/08/19 15:20, Yao, Jiewen wrote:
- Does this part require a new branch somewhere in the OVMF SEC code?
How do we determine whether the CPU executing SEC is BSP or
hot-plugged AP?
[Jiewen] I think this is blocked from hardware perspective, since the first
instruction.
There are some hardware specific registers can be used to determine if the
CPU is new added.
I don’t think this must be same as the real hardware.
You are free to invent some registers in device model to be used in OVMF
hot plug driver.

Yes, this would be a new operation mode for QEMU, that only applies to
hot-plugged CPUs. In this mode the AP doesn't reply to INIT or SMI, in
fact it doesn't reply to anything at all.

- How do we tell the hot-plugged AP where to start execution? (I.e. that
it should execute code at a particular pflash location.)
[Jiewen] Same real mode reset vector at FFFF:FFF0.
You do not need a reset vector or INIT/SIPI/SIPI sequence at all in
QEMU. The AP does not start execution at all when it is unplugged, so
no cache-as-RAM etc.
We only need to modify QEMU so that hot-plugged APIs do not reply to
INIT/SIPI/SMI.

I don’t think there is problem for real hardware, who always has CAR.
Can QEMU provide some CPU specific space, such as MMIO region?
Why is a CPU-specific region needed if every other processor is in SMM
and thus trusted.
Does CPU hotplug apply only at the socket level? If the CPU is
multi-core, what is responsible for hot-plugging all cores present in
the socket?
I can answer this: the SMM handler would interact with the hotplug
controller in the same way that ACPI DSDT does normally. This supports
multiple hotplugs already.

Writes to the hotplug controller from outside SMM would be ignored.

(03) New CPU: (Flash) send board message to tell host CPU (GPIO->SCI)
-- I am waiting for hot-add message.
Maybe we can simplify this in QEMU by broadcasting an SMI to existent
processors immediately upon plugging the new CPU.
The QEMU DSDT could be modified (when secure boot is in effect) to OUT
to 0xB2 when hotplug happens. It could write a well-known value to
0xB2, to be read by an SMI handler in edk2.



(NOTE: Host CPU can
only
send
instruction in SMM mode. -- The register is SMM only)
Sorry, I don't follow -- what register are we talking about here, and
why is the BSP needed to send anything at all? What "instruction" do you
have in mind?
[Jiewen] The new CPU does not enable SMI at reset.
At some point of time later, the CPU need enable SMI, right?
The "instruction" here means, the host CPUs need tell to CPU to enable
SMI.

Right, this would be a write to the CPU hotplug controller

(04) Host CPU: (OS) get message from board that a new CPU is added.
(GPIO -> SCI)

(05) Host CPU: (OS) All CPUs enter SMM (SCI->SWSMI) (NOTE: New CPU
will not enter CPU because SMI is disabled)
I don't understand the OS involvement here. But, again, perhaps QEMU
can
force all existent CPUs into SMM immediately upon adding the new CPU.
[Jiewen] OS here means the Host CPU running code in OS environment, not
in SMM environment.

See above.

(06) Host CPU: (SMM) Save 38000, Update 38000 -- fill simple SMM
rebase code.

(07) Host CPU: (SMM) Send message to New CPU to Enable SMI.
Aha, so this is the SMM-only register you mention in step (03). Is the
register specified in the Intel SDM?
[Jiewen] Right. That is the register to let host CPU tell new CPU to enable
SMI.
It is platform specific register. Not defined in SDM.
You may invent one in device model.
See above.

(10) New CPU: (SMM) Response first SMI at 38000, and rebase SMBASE
to
TSEG.
What code does the new CPU execute after it completes step (10)? Does
it
halt?
[Jiewen] The new CPU exits SMM and return to original place - where it is
interrupted to enter SMM - running code on the flash.
So in our case we'd need an INIT/SIPI/SIPI sequence between (06) and (07).

(11) Host CPU: (SMM) Restore 38000.
These steps (i.e., (06) through (11)) don't appear RAS-specific. The
only platform-specific feature seems to be SMI masking register, which
could be extracted into a new SmmCpuFeaturesLib API.

Thus, would you please consider open sourcing firmware code for steps
(06) through (11)?

Alternatively -- and in particular because the stack for step (01)
concerns me --, we could approach this from a high-level, functional
perspective. The states that really matter are the relocated SMBASE for
the new CPU, and the state of the full system, right at the end of step
(11).

When the SMM setup quiesces during normal firmware boot, OVMF could
use
existent (finalized) SMBASE infomation to *pre-program* some virtual
QEMU hardware, with such state that would be expected, as "final" state,
of any new hotplugged CPU. Afterwards, if / when the hotplug actually
happens, QEMU could blanket-apply this state to the new CPU, and
broadcast a hardware SMI to all CPUs except the new one.
I'd rather avoid this and stay as close as possible to real hardware.

Paolo


Re: [PATCH v5 32/35] OvmfPkg: Introduce PcdXenGrantFrames

Laszlo Ersek
 

On 08/15/19 11:40, Laszlo Ersek wrote:
On 08/13/19 13:31, Anthony PERARD wrote:
Introduce PcdXenGrantFrames to replace a define in XenBusDxe and allow
the same value to be used in a different module.

The reason for the number of page to be 4 doesn't exist anymore, so
simply remove the comment.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- add missing PcdLib to [LibraryClasses]
Yes, that's for

http://mid.mail-archive.com/365f2b95-b6c9-03cf-5346-5e1192bfa437@redhat.com
https://edk2.groups.io/g/devel/message/44621

Thanks for it,
Laszlo

v4:
- new patch
Also thanks for adding the v4 note retro-actively.

Thanks
Laszlo

OvmfPkg/OvmfPkg.dec | 3 +++
OvmfPkg/XenBusDxe/XenBusDxe.inf | 3 +++
OvmfPkg/XenBusDxe/XenBusDxe.h | 1 +
OvmfPkg/XenBusDxe/GrantTable.c | 3 +--
4 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
index 04d5e29272..d5fee805ef 100644
--- a/OvmfPkg/OvmfPkg.dec
+++ b/OvmfPkg/OvmfPkg.dec
@@ -225,6 +225,9 @@ [PcdsFixedAtBuild]
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|0x0|UINT32|0x17
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize|0x0|UINT32|0x32

+ ## Number of page frames to use for storing grant table entries.
+ gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames|4|UINT32|0x33
+
[PcdsDynamic, PcdsDynamicEx]
gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf
index 86e0fb8224..536b49fa8c 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.inf
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf
@@ -51,6 +51,7 @@ [LibraryClasses]
XenHypercallLib
SynchronizationLib
PrintLib
+ PcdLib

[Protocols]
gEfiDriverBindingProtocolGuid
@@ -59,3 +60,5 @@ [Protocols]
gXenBusProtocolGuid
gXenIoProtocolGuid

+[FixedPcd]
+ gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.h b/OvmfPkg/XenBusDxe/XenBusDxe.h
index 8510361bca..b1dcc3549c 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.h
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.h
@@ -22,6 +22,7 @@
#include <Library/UefiLib.h>
#include <Library/DevicePathLib.h>
#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>


//
diff --git a/OvmfPkg/XenBusDxe/GrantTable.c b/OvmfPkg/XenBusDxe/GrantTable.c
index 6575e9b88c..1130404cd1 100644
--- a/OvmfPkg/XenBusDxe/GrantTable.c
+++ b/OvmfPkg/XenBusDxe/GrantTable.c
@@ -22,8 +22,7 @@

#define NR_RESERVED_ENTRIES 8

-/* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
-#define NR_GRANT_FRAMES 4
+#define NR_GRANT_FRAMES (FixedPcdGet32 (PcdXenGrantFrames))
#define NR_GRANT_ENTRIES (NR_GRANT_FRAMES * EFI_PAGE_SIZE / sizeof(grant_entry_v1_t))

STATIC grant_entry_v1_t *GrantTable = NULL;


Re: [PATCH v5 33/35] OvmfPkg: Introduce XenIoPvhDxe to initialize Grant Tables

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
XenIoPvhDxe use XenIoMmioLib to reserve some space to be use by the
Grant Tables.

The call is only done if it is necessary, we simply detect if the
guest is PVH, as in this case there is currently no PCI bus, and no
PCI Xen platform device which would start the XenIoPciDxe and allocate
the space for the Grant Tables.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- add missing PcdLib as #include and in [LibraryClasses]
http://mid.mail-archive.com/8a5d9e63-12f1-2ff8-7c40-773d15baf333@redhat.com
https://edk2.groups.io/g/devel/message/44622

The update looks good, thanks!
Laszlo

v4:
- Removed XenIoPvhDxeNotifyExitBoot() which was doing action that should
not be done in an ExitBootServices notification.
(InitializeXenIoPvhDxe() has been cleaned up following this.)
- Use new PcdXenGrantFrames.
- Some coding style fix
- Update Maintainers.txt

v3:
- downgrade type to DXE_DRIVER
- use SPDX
- rework InitializeXenIoPvhDxe, and handle errors properly.
- Free the reserved allocation in ExitBootServices even if the XenIo
protocol could successfully been uninstalled.

v2:
- do allocation in EntryPoint like the other user of XenIoMmioLib.
- allocate memory instead of hardcoded addr.
- cleanup, add copyright
- detect if we are running in PVH mode

OvmfPkg/OvmfXen.dsc | 2 ++
OvmfPkg/OvmfXen.fdf | 1 +
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf | 36 +++++++++++++++++++
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c | 54 +++++++++++++++++++++++++++++
Maintainers.txt | 1 +
5 files changed, 94 insertions(+)
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c

diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
index e719a168f8..5e07b37279 100644
--- a/OvmfPkg/OvmfXen.dsc
+++ b/OvmfPkg/OvmfXen.dsc
@@ -195,6 +195,7 @@ [LibraryClasses]
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
+ XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf

Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
@@ -583,6 +584,7 @@ [Components]
NULL|OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
!endif
}
+ OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
OvmfPkg/XenBusDxe/XenBusDxe.inf
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
diff --git a/OvmfPkg/OvmfXen.fdf b/OvmfPkg/OvmfXen.fdf
index 5c1a925d6a..517a492f14 100644
--- a/OvmfPkg/OvmfXen.fdf
+++ b/OvmfPkg/OvmfXen.fdf
@@ -309,6 +309,7 @@ [FV.DXEFV]
INF MdeModulePkg/Universal/Metronome/Metronome.inf
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf

+INF OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
INF OvmfPkg/XenBusDxe/XenBusDxe.inf
INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
diff --git a/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf b/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
new file mode 100644
index 0000000000..1c27f8aae0
--- /dev/null
+++ b/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
@@ -0,0 +1,36 @@
+## @file
+# Driver for the XenIo protocol
+#
+# Copyright (c) 2019, Citrix Systems, Inc.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = XenIoPvhDxe
+ FILE_GUID = 7a567cc4-0e75-4d7a-a305-c3db109b53ad
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ ENTRY_POINT = InitializeXenIoPvhDxe
+
+[Packages]
+ MdePkg/MdePkg.dec
+ OvmfPkg/OvmfPkg.dec
+
+[Sources]
+ XenIoPvhDxe.c
+
+[LibraryClasses]
+ MemoryAllocationLib
+ PcdLib
+ UefiDriverEntryPoint
+ XenIoMmioLib
+ XenPlatformLib
+
+[FixedPcd]
+ gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames
+
+[Depex]
+ TRUE
diff --git a/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c b/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c
new file mode 100644
index 0000000000..9264a85df1
--- /dev/null
+++ b/OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c
@@ -0,0 +1,54 @@
+/** @file
+
+ Driver for the XenIo protocol
+
+ This driver simply allocate space for the grant tables.
+
+ Copyright (c) 2019, Citrix Systems, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/MemoryAllocationLib.h>
+#include <Library/PcdLib.h>
+#include <Library/XenIoMmioLib.h>
+#include <Library/XenPlatformLib.h>
+
+EFI_STATUS
+EFIAPI
+InitializeXenIoPvhDxe (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ )
+{
+ VOID *Allocation;
+ EFI_STATUS Status;
+ EFI_HANDLE XenIoHandle;
+
+ Allocation = NULL;
+ XenIoHandle = NULL;
+
+ if (!XenPvhDetected ()) {
+ return EFI_UNSUPPORTED;
+ }
+
+ Allocation = AllocateReservedPages (FixedPcdGet32 (PcdXenGrantFrames));
+ if (Allocation == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
+ goto Error;
+ }
+
+ Status = XenIoMmioInstall (&XenIoHandle, (UINTN) Allocation);
+ if (EFI_ERROR (Status)) {
+ goto Error;
+ }
+
+ return EFI_SUCCESS;
+
+Error:
+ if (Allocation != NULL) {
+ FreePages (Allocation, FixedPcdGet32 (PcdXenGrantFrames));
+ }
+ return Status;
+}
diff --git a/Maintainers.txt b/Maintainers.txt
index 78e9f889ab..79defd13bf 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -382,6 +382,7 @@ F: OvmfPkg/PlatformPei/Xen.*
F: OvmfPkg/SmbiosPlatformDxe/*Xen.c
F: OvmfPkg/XenBusDxe/
F: OvmfPkg/XenIoPciDxe/
+F: OvmfPkg/XenIoPvhDxe/
F: OvmfPkg/XenPlatformPei/
F: OvmfPkg/XenPvBlkDxe/
F: OvmfPkg/XenResetVector/


Re: [PATCH v5 32/35] OvmfPkg: Introduce PcdXenGrantFrames

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
Introduce PcdXenGrantFrames to replace a define in XenBusDxe and allow
the same value to be used in a different module.

The reason for the number of page to be 4 doesn't exist anymore, so
simply remove the comment.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- add missing PcdLib to [LibraryClasses]
Yes, that's for

http://mid.mail-archive.com/365f2b95-b6c9-03cf-5346-5e1192bfa437@redhat.com
https://edk2.groups.io/g/devel/message/44621

Thanks for it,
Laszlo

v4:
- new patch

OvmfPkg/OvmfPkg.dec | 3 +++
OvmfPkg/XenBusDxe/XenBusDxe.inf | 3 +++
OvmfPkg/XenBusDxe/XenBusDxe.h | 1 +
OvmfPkg/XenBusDxe/GrantTable.c | 3 +--
4 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
index 04d5e29272..d5fee805ef 100644
--- a/OvmfPkg/OvmfPkg.dec
+++ b/OvmfPkg/OvmfPkg.dec
@@ -225,6 +225,9 @@ [PcdsFixedAtBuild]
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|0x0|UINT32|0x17
gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize|0x0|UINT32|0x32

+ ## Number of page frames to use for storing grant table entries.
+ gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames|4|UINT32|0x33
+
[PcdsDynamic, PcdsDynamicEx]
gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf
index 86e0fb8224..536b49fa8c 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.inf
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf
@@ -51,6 +51,7 @@ [LibraryClasses]
XenHypercallLib
SynchronizationLib
PrintLib
+ PcdLib

[Protocols]
gEfiDriverBindingProtocolGuid
@@ -59,3 +60,5 @@ [Protocols]
gXenBusProtocolGuid
gXenIoProtocolGuid

+[FixedPcd]
+ gUefiOvmfPkgTokenSpaceGuid.PcdXenGrantFrames
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.h b/OvmfPkg/XenBusDxe/XenBusDxe.h
index 8510361bca..b1dcc3549c 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.h
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.h
@@ -22,6 +22,7 @@
#include <Library/UefiLib.h>
#include <Library/DevicePathLib.h>
#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>


//
diff --git a/OvmfPkg/XenBusDxe/GrantTable.c b/OvmfPkg/XenBusDxe/GrantTable.c
index 6575e9b88c..1130404cd1 100644
--- a/OvmfPkg/XenBusDxe/GrantTable.c
+++ b/OvmfPkg/XenBusDxe/GrantTable.c
@@ -22,8 +22,7 @@

#define NR_RESERVED_ENTRIES 8

-/* NR_GRANT_FRAMES must be less than or equal to that configured in Xen */
-#define NR_GRANT_FRAMES 4
+#define NR_GRANT_FRAMES (FixedPcdGet32 (PcdXenGrantFrames))
#define NR_GRANT_ENTRIES (NR_GRANT_FRAMES * EFI_PAGE_SIZE / sizeof(grant_entry_v1_t))

STATIC grant_entry_v1_t *GrantTable = NULL;


Re: [PATCH v5 31/35] OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
On a Xen PVH guest, none of the existing serial or console interface
works, so we add a new one, based on XenConsoleSerialPortLib, and
implemented via SerialDxe.

That is a simple console implementation that can work on both PVH
guest and HVM guests, even if it is rarely going to be used on HVM.

Have PlatformBootManagerLib look for the new console, when running as a
Xen guest.

Since we use VENDOR_UART_DEVICE_PATH, fix its description and coding
style.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- fix typos in commit message.
Thanks for those fixes, my R-b stands.

Laszlo

v4:
- instead of creating a new XEN_CONSOLE_DEVICE_PATH, use the existing
VENDOR_UART_DEVICE_PATH. And explain why VENDOR_UART_DEVICE_PATH
changed in the commit message.

v3:
- removed PciSioSerialDxe and IsaSerialDxe from OvmfXen, since they
would not be used, maybe, to check.
- some coding style fix

- not changed: PciSioSerialDxe: even if we add SerialDxe, we still needs
PciSioSerialDxe to have OVMF use the emulated serial port on HVM.

v2:
- Use MdeModulePkg/Universal/SerialDxe instead of something new.
- Have PlatformInitializeConsole() look for it by using the
known-in-advance device path for the xen console in the
PLATFORM_CONSOLE_CONNECT_ENTRY.

OvmfPkg/OvmfXen.dsc | 4 ++
OvmfPkg/OvmfXen.fdf | 1 +
.../PlatformBootManagerLib.inf | 4 ++
.../PlatformBootManagerLib/BdsPlatform.h | 1 +
.../PlatformBootManagerLib/BdsPlatform.c | 3 +-
.../PlatformBootManagerLib/PlatformData.c | 49 +++++++++++++++++--
6 files changed, 58 insertions(+), 4 deletions(-)

diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc
index 54ac910d8e..e719a168f8 100644
--- a/OvmfPkg/OvmfXen.dsc
+++ b/OvmfPkg/OvmfXen.dsc
@@ -586,6 +586,10 @@ [Components]
OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
OvmfPkg/XenBusDxe/XenBusDxe.inf
OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
+ <LibraryClasses>
+ SerialPortLib|OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf
+ }
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
diff --git a/OvmfPkg/OvmfXen.fdf b/OvmfPkg/OvmfXen.fdf
index fa0830a324..5c1a925d6a 100644
--- a/OvmfPkg/OvmfXen.fdf
+++ b/OvmfPkg/OvmfXen.fdf
@@ -312,6 +312,7 @@ [FV.DXEFV]
INF OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
INF OvmfPkg/XenBusDxe/XenBusDxe.inf
INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
+INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf

INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
index 04d614cd49..f89cce1879 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
@@ -61,6 +61,10 @@ [Pcd]
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate ## CONSUMES
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits ## CONSUMES
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity ## CONSUMES
+ gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits ## CONSUMES

[Pcd.IA32, Pcd.X64]
gEfiMdePkgTokenSpaceGuid.PcdFSBClock
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
index 49a072b400..153e215101 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
@@ -165,6 +165,7 @@ typedef struct {
#define CONSOLE_IN BIT1
#define STD_ERROR BIT2
extern PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
+extern PLATFORM_CONSOLE_CONNECT_ENTRY gXenPlatformConsole[];

//
// Platform BDS Functions
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 1eba304f09..70df6b841a 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -398,7 +398,8 @@ PlatformBootManagerBeforeConsole (
//
EfiBootManagerDispatchDeferredImages ();

- PlatformInitializeConsole (gPlatformConsole);
+ PlatformInitializeConsole (
+ XenDetected() ? gXenPlatformConsole : gPlatformConsole);
PcdStatus = PcdSet16S (PcdPlatformBootTimeOut,
GetFrontPageTimeoutFromQemu ());
ASSERT_RETURN_ERROR (PcdStatus);
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c b/OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c
index 36aab784d7..2858c3dfd5 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c
@@ -9,18 +9,19 @@

#include "BdsPlatform.h"
#include <Guid/QemuRamfb.h>
+#include <Guid/SerialPortLibVendor.h>

//
-// Debug Agent UART Device Path structure
+// Vendor UART Device Path structure
//
-#pragma pack(1)
+#pragma pack (1)
typedef struct {
VENDOR_DEVICE_PATH VendorHardware;
UART_DEVICE_PATH Uart;
VENDOR_DEVICE_PATH TerminalType;
EFI_DEVICE_PATH_PROTOCOL End;
} VENDOR_UART_DEVICE_PATH;
-#pragma pack()
+#pragma pack ()

//
// USB Keyboard Device Path structure
@@ -141,6 +142,37 @@ STATIC VENDOR_RAMFB_DEVICE_PATH gQemuRamfbDevicePath = {
gEndEntire
};

+STATIC VENDOR_UART_DEVICE_PATH gXenConsoleDevicePath = {
+ {
+ {
+ HARDWARE_DEVICE_PATH,
+ HW_VENDOR_DP,
+ {
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
+ }
+ },
+ EDKII_SERIAL_PORT_LIB_VENDOR_GUID
+ },
+ {
+ {
+ MESSAGING_DEVICE_PATH,
+ MSG_UART_DP,
+ {
+ (UINT8) (sizeof (UART_DEVICE_PATH)),
+ (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8)
+ }
+ },
+ 0,
+ FixedPcdGet64 (PcdUartDefaultBaudRate),
+ FixedPcdGet8 (PcdUartDefaultDataBits),
+ FixedPcdGet8 (PcdUartDefaultParity),
+ FixedPcdGet8 (PcdUartDefaultStopBits),
+ },
+ gPcAnsiTerminal,
+ gEndEntire
+};
+
//
// Predefined platform default console device path
//
@@ -163,6 +195,17 @@ PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[] = {
}
};

+PLATFORM_CONSOLE_CONNECT_ENTRY gXenPlatformConsole[] = {
+ {
+ (EFI_DEVICE_PATH_PROTOCOL *)&gXenConsoleDevicePath,
+ (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)
+ },
+ {
+ NULL,
+ 0
+ }
+};
+
//
// Predefined platform connect sequence
//


Re: [PATCH v5 23/35] OvmfPkg/XenPlatformPei: Rework memory detection

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
When running as a Xen PVH guest, there is no CMOS to read the memory
size from. Rework GetSystemMemorySize(Below|Above)4gb() so they can
work without CMOS by reading the e820 table.

Rework XenPublishRamRegions to also care for the reserved and ACPI
entry in the e820 table. The region that was added by InitializeXen()
isn't needed as that same entry is in the e820 table provided by
hvmloader.

MTRR settings aren't modified anymore, on HVM it's already done by
hvmloader, on PVH it is supposed to have sane default. MTRR will need
to be done properly but keeping what's already been done by programs
that have run before OVMF will do for now.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- fix coding style
- fix typo in commit message
- Handle all possible cases of a E820 reserved range overlapping with the
LAPIC range.

v4:
- some coding style
- Added AddReservedMemoryRangeHob, and using it.
- this patch now replace "OvmfPkg/XenPlatformPei: Reserve hvmloader's memory only when it has run"
from v3. hvmloader have added an entry in the e820 table, there is no
need for a special case.
- now, everything that is in the e820 table is added to OVMF's memory
map, no more skipping ACPI entries or hvmloader's reserved entries.
Instead, we look for the local APIC region and avoid it if it is
present in the e820.
- rework commit message

OvmfPkg/XenPlatformPei/Platform.h | 13 ++++++
OvmfPkg/XenPlatformPei/MemDetect.c | 69 +++++++++++++++++++++++++++
OvmfPkg/XenPlatformPei/Platform.c | 11 +++++
OvmfPkg/XenPlatformPei/Xen.c | 75 +++++++++++++++++++++---------
4 files changed, 147 insertions(+), 21 deletions(-)

diff --git a/OvmfPkg/XenPlatformPei/Platform.h b/OvmfPkg/XenPlatformPei/Platform.h
index db9a62572f..7661f4a8de 100644
--- a/OvmfPkg/XenPlatformPei/Platform.h
+++ b/OvmfPkg/XenPlatformPei/Platform.h
@@ -44,6 +44,13 @@ AddReservedMemoryBaseSizeHob (
BOOLEAN Cacheable
);

+VOID
+AddReservedMemoryRangeHob (
+ EFI_PHYSICAL_ADDRESS MemoryBase,
+ EFI_PHYSICAL_ADDRESS MemoryLimit,
+ BOOLEAN Cacheable
+ );
+
VOID
AddressWidthInitialization (
VOID
@@ -114,6 +121,12 @@ XenPublishRamRegions (
VOID
);

+EFI_STATUS
+XenGetE820Map (
+ EFI_E820_ENTRY64 **Entries,
+ UINT32 *Count
+ );
+
extern EFI_BOOT_MODE mBootMode;

extern UINT8 mPhysMemAddressWidth;
diff --git a/OvmfPkg/XenPlatformPei/MemDetect.c b/OvmfPkg/XenPlatformPei/MemDetect.c
index cf95f9c474..1f81eee407 100644
--- a/OvmfPkg/XenPlatformPei/MemDetect.c
+++ b/OvmfPkg/XenPlatformPei/MemDetect.c
@@ -96,6 +96,45 @@ Q35TsegMbytesInitialization (
mQ35TsegMbytes = ExtendedTsegMbytes;
}

+STATIC
+UINT64
+GetHighestSystemMemoryAddress (
+ BOOLEAN Below4gb
+ )
+{
+ EFI_E820_ENTRY64 *E820Map;
+ UINT32 E820EntriesCount;
+ EFI_E820_ENTRY64 *Entry;
+ EFI_STATUS Status;
+ UINT32 Loop;
+ UINT64 HighestAddress;
+ UINT64 EntryEnd;
+
+ HighestAddress = 0;
+
+ Status = XenGetE820Map (&E820Map, &E820EntriesCount);
+ ASSERT_EFI_ERROR (Status);
+
+ for (Loop = 0; Loop < E820EntriesCount; Loop++) {
+ Entry = E820Map + Loop;
+ EntryEnd = Entry->BaseAddr + Entry->Length;
+
+ if (Entry->Type == EfiAcpiAddressRangeMemory &&
+ EntryEnd > HighestAddress) {
+
+ if (Below4gb && (EntryEnd <= BASE_4GB)) {
+ HighestAddress = EntryEnd;
+ } else if (!Below4gb && (EntryEnd >= BASE_4GB)) {
+ HighestAddress = EntryEnd;
+ }
+ }
+ }
+
+ //
+ // Round down the end address.
+ //
+ return HighestAddress & ~(UINT64)EFI_PAGE_MASK;
+}

UINT32
GetSystemMemorySizeBelow4gb (
@@ -105,6 +144,19 @@ GetSystemMemorySizeBelow4gb (
UINT8 Cmos0x34;
UINT8 Cmos0x35;

+ //
+ // In PVH case, there is no CMOS, we have to calculate the memory size
+ // from parsing the E820
+ //
+ if (XenPvhDetected ()) {
+ UINT64 HighestAddress;
+
+ HighestAddress = GetHighestSystemMemoryAddress (TRUE);
+ ASSERT (HighestAddress > 0 && HighestAddress <= BASE_4GB);
+
+ return HighestAddress;
+ }
+
//
// CMOS 0x34/0x35 specifies the system memory above 16 MB.
// * CMOS(0x35) is the high byte
@@ -129,6 +181,23 @@ GetSystemMemorySizeAbove4gb (
UINT32 Size;
UINTN CmosIndex;

+ //
+ // In PVH case, there is no CMOS, we have to calculate the memory size
+ // from parsing the E820
+ //
+ if (XenPvhDetected ()) {
+ UINT64 HighestAddress;
+
+ HighestAddress = GetHighestSystemMemoryAddress (FALSE);
+ ASSERT (HighestAddress == 0 || HighestAddress >= BASE_4GB);
+
+ if (HighestAddress >= BASE_4GB) {
+ HighestAddress -= BASE_4GB;
+ }
+
+ return HighestAddress;
+ }
+
//
// CMOS 0x5b-0x5d specifies the system memory above 4GB MB.
// * CMOS(0x5d) is the most significant size byte
diff --git a/OvmfPkg/XenPlatformPei/Platform.c b/OvmfPkg/XenPlatformPei/Platform.c
index 6aaafc3ee9..2f42ca6ccd 100644
--- a/OvmfPkg/XenPlatformPei/Platform.c
+++ b/OvmfPkg/XenPlatformPei/Platform.c
@@ -102,6 +102,17 @@ AddReservedMemoryBaseSizeHob (
);
}

+VOID
+AddReservedMemoryRangeHob (
+ EFI_PHYSICAL_ADDRESS MemoryBase,
+ EFI_PHYSICAL_ADDRESS MemoryLimit,
+ BOOLEAN Cacheable
+ )
+{
+ AddReservedMemoryBaseSizeHob (MemoryBase,
+ (UINT64)(MemoryLimit - MemoryBase), Cacheable);
+}
+
VOID
AddIoMemoryRangeHob (
EFI_PHYSICAL_ADDRESS MemoryBase,
diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
index 72f6f37b46..c4506def9a 100644
--- a/OvmfPkg/XenPlatformPei/Xen.c
+++ b/OvmfPkg/XenPlatformPei/Xen.c
@@ -276,9 +276,14 @@ XenPublishRamRegions (
VOID
)
{
- EFI_E820_ENTRY64 *E820Map;
- UINT32 E820EntriesCount;
- EFI_STATUS Status;
+ EFI_E820_ENTRY64 *E820Map;
+ UINT32 E820EntriesCount;
+ EFI_STATUS Status;
+ EFI_E820_ENTRY64 *Entry;
+ UINTN Index;
+ UINT64 LapicBase;
+ UINT64 LapicEnd;
+
The extra newline is not really justified, but it's also harmless and not too annoying.

Otherwise, the update looks good to me, addressing:

* http://mid.mail-archive.com/7b8cb5ef-2163-9e22-350f-877be6951b34@redhat.com
https://edk2.groups.io/g/devel/message/44615

* http://mid.mail-archive.com/20190807152852.e47kogsxubbjkue5@Air-de-Roger
https://edk2.groups.io/g/devel/message/45012

So my ACK stands.

Thanks
Laszlo

DEBUG ((DEBUG_INFO, "Using memory map provided by Xen\n"));

@@ -287,26 +292,60 @@ XenPublishRamRegions (
//
E820EntriesCount = 0;
Status = XenGetE820Map (&E820Map, &E820EntriesCount);
-
ASSERT_EFI_ERROR (Status);

- if (E820EntriesCount > 0) {
- EFI_E820_ENTRY64 *Entry;
- UINT32 Loop;
+ LapicBase = PcdGet32 (PcdCpuLocalApicBaseAddress);
+ LapicEnd = LapicBase + SIZE_1MB;
+ AddIoMemoryRangeHob (LapicBase, LapicEnd);

- for (Loop = 0; Loop < E820EntriesCount; Loop++) {
- Entry = E820Map + Loop;
+ for (Index = 0; Index < E820EntriesCount; Index++) {
+ UINT64 Base;
+ UINT64 End;
+ UINT64 ReservedBase;
+ UINT64 ReservedEnd;

+ Entry = &E820Map[Index];
+
+ //
+ // Round up the start address, and round down the end address.
+ //
+ Base = ALIGN_VALUE (Entry->BaseAddr, (UINT64)EFI_PAGE_SIZE);
+ End = (Entry->BaseAddr + Entry->Length) & ~(UINT64)EFI_PAGE_MASK;
+
+ switch (Entry->Type) {
+ case EfiAcpiAddressRangeMemory:
+ AddMemoryRangeHob (Base, End);
+ break;
+ case EfiAcpiAddressRangeACPI:
+ AddReservedMemoryRangeHob (Base, End, FALSE);
+ break;
+ case EfiAcpiAddressRangeReserved:
//
- // Only care about RAM
+ // hvmloader marks a range that overlaps with the local APIC memory
+ // mapped region as reserved, but CpuDxe wants it as mapped IO. We
+ // have already added it as mapped IO, so skip it here.
//
- if (Entry->Type != EfiAcpiAddressRangeMemory) {
- continue;
- }

- AddMemoryBaseSizeHob (Entry->BaseAddr, Entry->Length);
+ //
+ // add LAPIC predecessor range, if any
+ //
+ ReservedBase = Base;
+ ReservedEnd = MIN (End, LapicBase);
+ if (ReservedBase < ReservedEnd) {
+ AddReservedMemoryRangeHob (ReservedBase, ReservedEnd, FALSE);
+ }

- MtrrSetMemoryAttribute (Entry->BaseAddr, Entry->Length, CacheWriteBack);
+ //
+ // add LAPIC successor range, if any
+ //
+ ReservedBase = MAX (Base, LapicEnd);
+ ReservedEnd = End;
+ if (ReservedBase < ReservedEnd) {
+ AddReservedMemoryRangeHob (ReservedBase, ReservedEnd, FALSE);
+ }
+ break;
+ default:
+ break;
}
}
}
@@ -326,12 +365,6 @@ InitializeXen (
{
RETURN_STATUS PcdStatus;

- //
- // Reserve away HVMLOADER reserved memory [0xFC000000,0xFD000000).
- // This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE.
- //
- AddReservedMemoryBaseSizeHob (0xFC000000, 0x1000000, FALSE);
-
PcdStatus = PcdSetBoolS (PcdPciDisableBusEnumeration, TRUE);
ASSERT_RETURN_ERROR (PcdStatus);


Re: [PATCH V2 00/10] Multiple Controllers Support solution

Liming Gao
 

Eric:
I push the change for edk2platform.
And, I push the remaining patches a6ee24fbddcd901347014e045611eb6108f4f741..a5944b6a13e227da23daa0ab59b5d6f4b06bb49b

Thanks
Liming

-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
Liming Gao
Sent: Wednesday, August 14, 2019 12:38 PM
To: Jin, Eric <eric.jin@intel.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

Eric:
I push the first 3 patches
82407bd129dca8ec6d96e85f541b0974c8d7e087..1f06aa24c29405f271f514f01c3
96c2ba19c1370.
Then, the changes in edk2 platform can be submitted. After edk2platform
change is ready, I will push the remaining patch set.

Thanks
Liming
-----Original Message-----
From: Jin, Eric
Sent: Monday, August 12, 2019 11:17 PM
To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io
Cc: Jin, Eric <eric.jin@intel.com>
Subject: RE: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

Liming,

Thank you for comment.
We will update GetLowestSupportedVersion() API function header to
include
Private param when we push the code to repo. Thanks.

Best Regards
Eric

-----Original Message-----
From: Gao, Liming
Sent: Monday, August 12, 2019 5:24 PM
To: Jin, Eric <eric.jin@intel.com>; devel@edk2.groups.io
Subject: RE: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

That's good information.

In patch 5, GetLowestSupportedVersion() API function header should be
updated to include Private param. I have no other comments.

With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>

///
@@ -193,7 +200,7 @@ GetImageTypeNameString ( **/
UINT32
GetLowestSupportedVersion (
- VOID
+ FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private
)

Thanks
Liming
-----Original Message-----
From: Jin, Eric
Sent: Monday, August 12, 2019 3:14 PM
To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io
Subject: RE: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

Liming,

The differences between V2 and V1 are listed below.

1) The series is composed of 10 patches in V2 (14 in V1). patch 14 is
merged into patch 4, and patch 11/12/13 are merged into patch 5.
2) Try to fix the issue exposed by ECC.

Btw, the patch of edk2-platform
Platform\Intel\Vlv2TbltDevicePkg\Feature\Capsule\Library\FmpDeviceLib
to support new APIs is provided in separated patch
https://edk2.groups.io/g/devel/message/45328

Best Regards
Eric

-----Original Message-----
From: Gao, Liming
Sent: Monday, August 12, 2019 1:19 PM
To: devel@edk2.groups.io; Jin, Eric <eric.jin@intel.com>
Subject: RE: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

Eric:
Can you list the difference compared to version 1?

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
Eric Jin
Sent: Monday, August 12, 2019 9:46 AM
To: devel@edk2.groups.io
Subject: [edk2-devel] [PATCH V2 00/10] Multiple Controllers Support
solution

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1525

The patch set is to support drivers that manage multiple controllers
and also provide a firmware update capability to each managed controller.

The following modules are related to Multiple Controllers Support
solution

FmpDevicePkg\FmpDxe\FmpDxe.inf - Driver to manage multiple
controllers
and provide the firmware update capability to each managed controller.
FmpDevicePkg\CapsuleUpdatePolicyDxe\CapsuleUpdatePolicyDxe.inf -
Driver
to produce the Capsule Update Policy Protocol using the services of
the CapsuleUpdatePolicyLib class. The protocol is a private interface
to the FmpDevicePkg
FmpDevicePkg\Library\CapsuleUpdatePolicyLibOnProtocol\CapsuleUpdat
e
P
o
licyLibOnProtocol.inf -
CapsuleUpdatePolicyLib instance that uses the services of the Capsule
Update Policy Protocol produced by CapsuleUpdatePolicyDxe
FmpDevicePkg\Library\CapsuleUpdatePolicyLibNull\CapsuleUpdatePolicy
Li
b
N
ull.inf -
Null CapsuleUpdatePolicyLib instance and the template for platform
specific implementation
FmpDevicePkg\Library\FmpDeviceLibNull\FmpDeviceLibNull.inf - Null
FmpDeviceLib instance and the template for platform specific
implementation

Eric Jin (10):
FmpDevicePkg: Add UEFI_DRIVER support
FmpDevicePkg: Add APIs to FmpDeviceLib
FmpDEvicePkg/FmpDeviceLibNull: Implement new APIs
FmpDevicePkg/FmpDxe: Use new FmpDeviceLib APIs
FmpDevicePkg/FmpDxe: Different variable for each FMP Descriptor
FmpDevicePkg: Add Capsule Update Policy Protocol
FmpDevicePkg/FmpDxe: Improve all DEBUG() messages
FmpDevicePkg/FmpDxe: Add PcdFmpDeviceImageTypeIdGuid
FmpDevicePkg/FmpDxe: Add PcdFmpDeviceStorageAccessEnable
FmpDevicePkg/FmpDxe: Remove use of CatSprint()

.../CapsuleUpdatePolicyDxe.c | 173 ++++
.../CapsuleUpdatePolicyDxe.h | 140 +++
.../CapsuleUpdatePolicyDxe.inf | 48 +
.../CapsuleUpdatePolicyDxe.uni | 14 +
.../CapsuleUpdatePolicyDxeExtra.uni | 14 +
FmpDevicePkg/FmpDevicePkg.dec | 43 +-
FmpDevicePkg/FmpDevicePkg.dsc | 64 +-
FmpDevicePkg/FmpDevicePkg.uni | 16 +-
FmpDevicePkg/FmpDxe/DetectTestKey.c | 16 +-
FmpDevicePkg/FmpDxe/FmpDxe.c | 792 ++++++++++------
FmpDevicePkg/FmpDxe/FmpDxe.h | 355 ++++++++
FmpDevicePkg/FmpDxe/FmpDxe.inf | 7 +-
FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 7 +-
FmpDevicePkg/FmpDxe/VariableSupport.c | 844 +++++++++++++----
-
FmpDevicePkg/FmpDxe/VariableSupport.h | 135 ++-
FmpDevicePkg/Include/Library/FmpDeviceLib.h | 104 ++-
.../CapsuleUpdatePolicyLibOnProtocol.c | 171 ++++
.../CapsuleUpdatePolicyLibOnProtocol.inf | 40 +
.../CapsuleUpdatePolicyLibOnProtocol.uni | 15 +
.../Library/FmpDeviceLibNull/FmpDeviceLib.c | 93 +-
.../FmpDeviceLibNull/FmpDeviceLibNull.inf | 4 +-
.../FmpPayloadHeaderLibV1.inf | 4 +-
.../Library/FmpPayloadHeaderLib.h | 0
.../Protocol/CapsuleUpdatePolicy.h | 132 +++
24 files changed, 2644 insertions(+), 587 deletions(-) create mode
100644
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.c
create mode 100644
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.h
create mode 100644
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.inf
create mode 100644
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.uni
create mode 100644
FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxeExtra.u
n
i
create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.h create mode
100644
FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdat
e
P
o
licyLibOnProtocol.c
create mode 100644
FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdat
e
P
o
licyLibOnProtocol.inf
create mode 100644
FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdat
e
P
o
licyLibOnProtocol.uni
rename FmpDevicePkg/{Include =>
PrivateInclude}/Library/FmpPayloadHeaderLib.h (100%) create mode
100644 FmpDevicePkg/PrivateInclude/Protocol/CapsuleUpdatePolicy.h

--
2.20.1.windows.1




Re: [PATCH v2 0/3] add DwMmcHcDxe driver

Loh, Tien Hock
 

Hi Leif, Ard, Christopher,

Haojian and I have tested the driver on 2 platforms, any further comments on this?

Thanks
Tien Hock

-----Original Message-----
From: Haojian Zhuang <haojian.zhuang@linaro.org>
Sent: Tuesday, July 30, 2019 3:33 PM
To: Loh, Tien Hock <tien.hock.loh@intel.com>; leif.lindholm@linaro.org;
ard.biesheuvel@linaro.org; christopher.Co@microsoft.com
Cc: devel@edk2.groups.io; thloh85@gmail.com
Subject: Re: [PATCH v2 0/3] add DwMmcHcDxe driver

On Wed, Jul 24, 2019 at 05:26:03PM +0800, tien.hock.loh@intel.com wrote:
From: "Tien Hock, Loh" <tien.hock.loh@intel.com>

Changelog:
v3:
* Fix an issue in NonDiscoverableDeviceDxe driver where it did not
invalidate
cache before copying the memory.
v2:
*Split DwMmcHcDxe driver into two patches. One is for PlatformDwMmc
protocol,
and the other is for DwMmcHcDxe driver.
v1:
*Add NonDiscoverableDeviceDxe for embedded platform. Make
DwMmcHcDxe driver
to support both eMMC and SD controller.

Haojian Zhuang (3):
EmbeddedPkg: add NonDiscoverableDeviceDxe driver
EmbeddedPkg: add PlatformDwMmc protocol
EmbeddedPkg/Drivers: add DwMmcHcDxe driver

.../Drivers/DwMmcHcDxe/ComponentName.c | 214 ++
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.c | 1295
+++++++++
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.dec | 40 +
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.h | 815 ++++++
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.inf | 69 +
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.c | 2366
+++++++++++++++++
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.h | 983 +++++++
EmbeddedPkg/Drivers/DwMmcHcDxe/EmmcDevice.c | 1042 ++++++++
EmbeddedPkg/Drivers/DwMmcHcDxe/SdDevice.c | 1104 ++++++++
EmbeddedPkg/EmbeddedPkg.dec | 1 +
EmbeddedPkg/Include/Protocol/PlatformDwMmc.h | 79 +
.../NonDiscoverableDeviceDxe/ComponentName.c | 124 +
.../NonDiscoverableDeviceDxe.c | 243 ++
.../NonDiscoverableDeviceDxe.inf | 52 +
.../NonDiscoverableDeviceIo.c | 976 +++++++
.../NonDiscoverableDeviceIo.h | 92 +
16 files changed, 9495 insertions(+)
create mode 100644
EmbeddedPkg/Drivers/DwMmcHcDxe/ComponentName.c
create mode 100644
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.c
create mode 100644
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.dec
create mode 100644
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.h
create mode 100644
EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHcDxe.inf
create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.c
create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/DwMmcHci.h
create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/EmmcDevice.c
create mode 100644 EmbeddedPkg/Drivers/DwMmcHcDxe/SdDevice.c
create mode 100644 EmbeddedPkg/Include/Protocol/PlatformDwMmc.h
create mode 100644
EmbeddedPkg/Universal/NonDiscoverableDeviceDxe/ComponentName.c
create mode 100644
EmbeddedPkg/Universal/NonDiscoverableDeviceDxe/NonDiscoverableDevic
eDx
e.c create mode 100644
EmbeddedPkg/Universal/NonDiscoverableDeviceDxe/NonDiscoverableDevic
eDx
e.inf create mode 100644
EmbeddedPkg/Universal/NonDiscoverableDeviceDxe/NonDiscoverableDevic
eIo
.c create mode 100644
EmbeddedPkg/Universal/NonDiscoverableDeviceDxe/NonDiscoverableDevic
eIo
.h

--
2.19.0
Hi Leif, Ard & Chris,

Could you help to share your comments on this patch set?

Best Regards
Haojian


[PATCH] UefiCpuPkg: Adding a new TSC library by using CPUID(0x15) TSC leaf

Donald Kuo
 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1909

Cc: Ray Ni <ray.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Signed-off-by: Donald Kuo <donald.kuo@intel.com>
---
UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.c | 41 +++
UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf | 35 +++
UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.uni | 17 ++
UefiCpuPkg/Library/CpuTimerLib/CpuTimerLib.c | 279 +++++++++++++++++++++
UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.c | 85 +++++++
UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf | 37 +++
UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.uni | 17 ++
UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.c | 58 +++++
UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf | 36 +++
UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.uni | 17 ++
UefiCpuPkg/UefiCpuPkg.dec | 8 +
UefiCpuPkg/UefiCpuPkg.dsc | 3 +
UefiCpuPkg/UefiCpuPkg.uni | 10 +
13 files changed, 643 insertions(+)
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.uni
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/CpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.uni
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.uni

diff --git a/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.c b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.c
new file mode 100644
index 0000000000..6ddf917bad
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.c
@@ -0,0 +1,41 @@
+/** @file
+ CPUID Leaf 0x15 for Core Crystal Clock frequency instance as Base Timer Library.
+
+ Copyright (c) 2019 Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Base.h>
+#include <Library/TimerLib.h>
+#include <Library/BaseLib.h>
+
+/**
+ CPUID Leaf 0x15 for Core Crystal Clock Frequency.
+
+ The TSC counting frequency is determined by using CPUID leaf 0x15. Frequency in MHz = Core XTAL frequency * EBX/EAX.
+ In newer flavors of the CPU, core xtal frequency is returned in ECX or 0 if not supported.
+ @return The number of TSC counts per second.
+
+**/
+UINT64
+CpuidCoreClockCalculateTscFrequency (
+ VOID
+ );
+
+/**
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+InternalGetPerformanceCounterFrequency (
+ VOID
+ )
+{
+ return CpuidCoreClockCalculateTscFrequency ();
+}
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
new file mode 100644
index 0000000000..fd93adc5f1
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
@@ -0,0 +1,35 @@
+## @file
+# Base CPU Timer Library
+#
+# Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+# counter features are provided by the processors time stamp counter.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = BaseCpuTimerLib
+ FILE_GUID = F10B5B91-D15A-496C-B044-B5235721AA08
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = TimerLib|SEC PEI_CORE PEIM
+ MODULE_UNI_FILE = BaseCpuTimerLib.uni
+
+[Sources]
+ CpuTimerLib.c
+ BaseCpuTimerLib.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ UefiCpuPkg/UefiCpuPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ PcdLib
+ DebugLib
+
+[Pcd]
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency ## CONSUMES
diff --git a/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.uni b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.uni
new file mode 100644
index 0000000000..fcf2b0fbcb
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.uni
@@ -0,0 +1,17 @@
+// /** @file
+// Base CPU Timer Library
+//
+// Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+// counter features are provided by the processors time stamp counter.
+//
+// Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_MODULE_ABSTRACT #language en-US "CPU Timer Library"
+
+#string STR_MODULE_DESCRIPTION #language en-US "Provides basic timer support using CPUID Leaf 0x15 XTAL frequency."
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/CpuTimerLib.c b/UefiCpuPkg/Library/CpuTimerLib/CpuTimerLib.c
new file mode 100644
index 0000000000..192a401fe6
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/CpuTimerLib.c
@@ -0,0 +1,279 @@
+/** @file
+ CPUID Leaf 0x15 for Core Crystal Clock frequency instance of Timer Library.
+
+ Copyright (c) 2019 Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Base.h>
+#include <Library/TimerLib.h>
+#include <Library/BaseLib.h>
+#include <Library/PcdLib.h>
+#include <Library/DebugLib.h>
+#include <Register/Cpuid.h>
+
+GUID mCpuCrystalFrequencyHobGuid = { 0xe1ec5ad0, 0x8569, 0x46bd, { 0x8d, 0xcd, 0x3b, 0x9f, 0x6f, 0x45, 0x82, 0x7a } };
+
+/**
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+InternalGetPerformanceCounterFrequency (
+ VOID
+ );
+
+/**
+ CPUID Leaf 0x15 for Core Crystal Clock Frequency.
+
+ The TSC counting frequency is determined by using CPUID leaf 0x15. Frequency in MHz = Core XTAL frequency * EBX/EAX.
+ In newer flavors of the CPU, core xtal frequency is returned in ECX or 0 if not supported.
+ @return The number of TSC counts per second.
+
+**/
+UINT64
+CpuidCoreClockCalculateTscFrequency (
+ VOID
+ )
+{
+ UINT64 TscFrequency;
+ UINT64 CoreXtalFrequency;
+ UINT32 RegEax;
+ UINT32 RegEbx;
+ UINT32 RegEcx;
+
+ //
+ // Use CPUID leaf 0x15 Time Stamp Counter and Nominal Core Crystal Clock Information
+ // EBX returns 0 if not supported. ECX, if non zero, provides Core Xtal Frequency in hertz.
+ // TSC frequency = (ECX, Core Xtal Frequency) * EBX/EAX.
+ //
+ AsmCpuid (CPUID_TIME_STAMP_COUNTER, &RegEax, &RegEbx, &RegEcx, NULL);
+
+ //
+ // If EAX or EBX returns 0, the XTAL ratio is not enumerated.
+ //
+ if (RegEax == 0 || RegEbx ==0 ) {
+ ASSERT (RegEax != 0);
+ ASSERT (RegEbx != 0);
+ return 0;
+ }
+ //
+ // If ECX returns 0, the XTAL frequency is not enumerated.
+ // And PcdCpuCoreCrystalClockFrequency defined should base on processor series.
+ //
+ if (RegEcx == 0) {
+ CoreXtalFrequency = PcdGet64 (PcdCpuCoreCrystalClockFrequency);
+ } else {
+ CoreXtalFrequency = (UINT64) RegEcx;
+ }
+
+ //
+ // Calculate TSC frequency = (ECX, Core Xtal Frequency) * EBX/EAX
+ //
+ TscFrequency = DivU64x32 (MultU64x32 (CoreXtalFrequency, RegEbx) + (UINT64)(RegEax >> 1), RegEax);
+
+ return TscFrequency;
+}
+
+/**
+ Stalls the CPU for at least the given number of ticks.
+
+ Stalls the CPU for at least the given number of ticks. It's invoked by
+ MicroSecondDelay() and NanoSecondDelay().
+
+ @param Delay A period of time to delay in ticks.
+
+**/
+VOID
+InternalCpuDelay (
+ IN UINT64 Delay
+ )
+{
+ UINT64 Ticks;
+
+ //
+ // The target timer count is calculated here
+ //
+ Ticks = AsmReadTsc() + Delay;
+
+ //
+ // Wait until time out
+ // Timer wrap-arounds are NOT handled correctly by this function.
+ // Thus, this function must be called within 10 years of reset since
+ // Intel guarantees a minimum of 10 years before the TSC wraps.
+ //
+ while (AsmReadTsc() <= Ticks) {
+ CpuPause();
+ }
+}
+
+/**
+ Stalls the CPU for at least the given number of microseconds.
+
+ Stalls the CPU for the number of microseconds specified by MicroSeconds.
+
+ @param[in] MicroSeconds The minimum number of microseconds to delay.
+
+ @return MicroSeconds
+
+**/
+UINTN
+EFIAPI
+MicroSecondDelay (
+ IN UINTN MicroSeconds
+ )
+{
+
+ InternalCpuDelay (
+ DivU64x32 (
+ MultU64x64 (
+ MicroSeconds,
+ InternalGetPerformanceCounterFrequency ()
+ ),
+ 1000000u
+ )
+ );
+
+ return MicroSeconds;
+}
+
+/**
+ Stalls the CPU for at least the given number of nanoseconds.
+
+ Stalls the CPU for the number of nanoseconds specified by NanoSeconds.
+
+ @param NanoSeconds The minimum number of nanoseconds to delay.
+
+ @return NanoSeconds
+
+**/
+UINTN
+EFIAPI
+NanoSecondDelay (
+ IN UINTN NanoSeconds
+ )
+{
+
+ InternalCpuDelay (
+ DivU64x32 (
+ MultU64x64 (
+ NanoSeconds,
+ InternalGetPerformanceCounterFrequency ()
+ ),
+ 1000000000u
+ )
+ );
+
+ return NanoSeconds;
+}
+
+/**
+ Retrieves the current value of a 64-bit free running performance counter.
+
+ Retrieves the current value of a 64-bit free running performance counter. The
+ counter can either count up by 1 or count down by 1. If the physical
+ performance counter counts by a larger increment, then the counter values
+ must be translated. The properties of the counter can be retrieved from
+ GetPerformanceCounterProperties().
+
+ @return The current value of the free running performance counter.
+
+**/
+UINT64
+EFIAPI
+GetPerformanceCounter (
+ VOID
+ )
+{
+ return AsmReadTsc ();
+}
+
+/**
+ Retrieves the 64-bit frequency in Hz and the range of performance counter
+ values.
+
+ If StartValue is not NULL, then the value that the performance counter starts
+ with immediately after is it rolls over is returned in StartValue. If
+ EndValue is not NULL, then the value that the performance counter end with
+ immediately before it rolls over is returned in EndValue. The 64-bit
+ frequency of the performance counter in Hz is always returned. If StartValue
+ is less than EndValue, then the performance counter counts up. If StartValue
+ is greater than EndValue, then the performance counter counts down. For
+ example, a 64-bit free running counter that counts up would have a StartValue
+ of 0 and an EndValue of 0xFFFFFFFFFFFFFFFF. A 24-bit free running counter
+ that counts down would have a StartValue of 0xFFFFFF and an EndValue of 0.
+
+ @param StartValue The value the performance counter starts with when it
+ rolls over.
+ @param EndValue The value that the performance counter ends with before
+ it rolls over.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+EFIAPI
+GetPerformanceCounterProperties (
+ OUT UINT64 *StartValue, OPTIONAL
+ OUT UINT64 *EndValue OPTIONAL
+ )
+{
+ if (StartValue != NULL) {
+ *StartValue = 0;
+ }
+
+ if (EndValue != NULL) {
+ *EndValue = 0xffffffffffffffffULL;
+ }
+ return InternalGetPerformanceCounterFrequency ();
+}
+
+/**
+ Converts elapsed ticks of performance counter to time in nanoseconds.
+
+ This function converts the elapsed ticks of running performance counter to
+ time value in unit of nanoseconds.
+
+ @param Ticks The number of elapsed ticks of running performance counter.
+
+ @return The elapsed time in nanoseconds.
+
+**/
+UINT64
+EFIAPI
+GetTimeInNanoSecond (
+ IN UINT64 Ticks
+ )
+{
+ UINT64 Frequency;
+ UINT64 NanoSeconds;
+ UINT64 Remainder;
+ INTN Shift;
+
+ Frequency = GetPerformanceCounterProperties (NULL, NULL);
+
+ //
+ // Ticks
+ // Time = --------- x 1,000,000,000
+ // Frequency
+ //
+ NanoSeconds = MultU64x32 (DivU64x64Remainder (Ticks, Frequency, &Remainder), 1000000000u);
+
+ //
+ // Ensure (Remainder * 1,000,000,000) will not overflow 64-bit.
+ // Since 2^29 < 1,000,000,000 = 0x3B9ACA00 < 2^30, Remainder should < 2^(64-30) = 2^34,
+ // i.e. highest bit set in Remainder should <= 33.
+ //
+ Shift = MAX (0, HighBitSet64 (Remainder) - 33);
+ Remainder = RShiftU64 (Remainder, (UINTN) Shift);
+ Frequency = RShiftU64 (Frequency, (UINTN) Shift);
+ NanoSeconds += DivU64x64Remainder (MultU64x32 (Remainder, 1000000000u), Frequency, NULL);
+
+ return NanoSeconds;
+}
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.c b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.c
new file mode 100644
index 0000000000..269e5a3e83
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.c
@@ -0,0 +1,85 @@
+/** @file
+ CPUID Leaf 0x15 for Core Crystal Clock frequency instance of Timer Library.
+
+ Copyright (c) 2019 Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <PiDxe.h>
+#include <Library/TimerLib.h>
+#include <Library/BaseLib.h>
+#include <Library/HobLib.h>
+
+extern GUID mCpuCrystalFrequencyHobGuid;
+
+/**
+ CPUID Leaf 0x15 for Core Crystal Clock Frequency.
+
+ The TSC counting frequency is determined by using CPUID leaf 0x15. Frequency in MHz = Core XTAL frequency * EBX/EAX.
+ In newer flavors of the CPU, core xtal frequency is returned in ECX or 0 if not supported.
+ @return The number of TSC counts per second.
+
+**/
+UINT64
+CpuidCoreClockCalculateTscFrequency (
+ VOID
+ );
+
+//
+// Cached CPU Crystal counter frequency
+//
+UINT64 mCpuCrystalCounterFrequency = 0;
+
+
+/**
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+InternalGetPerformanceCounterFrequency (
+ VOID
+ )
+{
+ return mCpuCrystalCounterFrequency;
+}
+
+/**
+ The constructor function is to initialize CpuCrystalCounterFrequency.
+
+ @param ImageHandle The firmware allocated handle for the EFI image.
+ @param SystemTable A pointer to the EFI System Table.
+
+ @retval EFI_SUCCESS The constructor always returns RETURN_SUCCESS.
+
+**/
+EFI_STATUS
+EFIAPI
+DxeCpuTimerLibConstructor (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ )
+{
+ EFI_HOB_GUID_TYPE *GuidHob;
+
+ //
+ // Initialize CpuCrystalCounterFrequency
+ //
+ GuidHob = GetFirstGuidHob (&mCpuCrystalFrequencyHobGuid);
+ if (GuidHob != NULL) {
+ mCpuCrystalCounterFrequency = *(UINT64*)GET_GUID_HOB_DATA (GuidHob);
+ } else {
+ mCpuCrystalCounterFrequency = CpuidCoreClockCalculateTscFrequency ();
+ }
+
+ if (mCpuCrystalCounterFrequency == 0) {
+ return EFI_UNSUPPORTED;
+ }
+
+ return EFI_SUCCESS;
+}
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf
new file mode 100644
index 0000000000..6c83549c87
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf
@@ -0,0 +1,37 @@
+## @file
+# DXE CPU Timer Library
+#
+# Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+# counter features are provided by the processors time stamp counter.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = DxeCpuTimerLib
+ FILE_GUID = F22CC0DA-E7DB-4E4D-ABE2-A608188233A2
+ MODULE_TYPE = DXE_DRIVER
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = TimerLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE
+ CONSTRUCTOR = DxeCpuTimerLibConstructor
+ MODULE_UNI_FILE = DxeCpuTimerLib.uni
+
+[Sources]
+ CpuTimerLib.c
+ DxeCpuTimerLib.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ UefiCpuPkg/UefiCpuPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ PcdLib
+ DebugLib
+ HobLib
+
+[Pcd]
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency ## CONSUMES
diff --git a/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.uni b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.uni
new file mode 100644
index 0000000000..f55b92abac
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.uni
@@ -0,0 +1,17 @@
+// /** @file
+// DXE CPU Timer Library
+//
+// Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+// counter features are provided by the processors time stamp counter.
+//
+// Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_MODULE_ABSTRACT #language en-US "CPU Timer Library"
+
+#string STR_MODULE_DESCRIPTION #language en-US "Provides basic timer support using CPUID Leaf 0x15 XTAL frequency."
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.c b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.c
new file mode 100644
index 0000000000..91a7212056
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.c
@@ -0,0 +1,58 @@
+/** @file
+ CPUID Leaf 0x15 for Core Crystal Clock frequency instance as PEI Timer Library.
+
+ Copyright (c) 2019 Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <PiPei.h>
+#include <Library/TimerLib.h>
+#include <Library/BaseLib.h>
+#include <Library/HobLib.h>
+#include <Library/DebugLib.h>
+
+extern GUID mCpuCrystalFrequencyHobGuid;
+
+/**
+ CPUID Leaf 0x15 for Core Crystal Clock Frequency.
+
+ The TSC counting frequency is determined by using CPUID leaf 0x15. Frequency in MHz = Core XTAL frequency * EBX/EAX.
+ In newer flavors of the CPU, core xtal frequency is returned in ECX or 0 if not supported.
+ @return The number of TSC counts per second.
+
+**/
+UINT64
+CpuidCoreClockCalculateTscFrequency (
+ VOID
+ );
+
+/**
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ Internal function to retrieves the 64-bit frequency in Hz.
+
+ @return The frequency in Hz.
+
+**/
+UINT64
+InternalGetPerformanceCounterFrequency (
+ VOID
+ )
+{
+ UINT64 *CpuCrystalCounterFrequency;
+ EFI_HOB_GUID_TYPE *GuidHob;
+
+ CpuCrystalCounterFrequency = NULL;
+ GuidHob = GetFirstGuidHob (&mCpuCrystalFrequencyHobGuid);
+ if (GuidHob == NULL) {
+ CpuCrystalCounterFrequency = (UINT64*)BuildGuidHob(&mCpuCrystalFrequencyHobGuid, sizeof (*CpuCrystalCounterFrequency));
+ ASSERT (CpuCrystalCounterFrequency != NULL);
+ *CpuCrystalCounterFrequency = CpuidCoreClockCalculateTscFrequency ();
+ } else {
+ CpuCrystalCounterFrequency = (UINT64*)GET_GUID_HOB_DATA (GuidHob);
+ }
+
+ return *CpuCrystalCounterFrequency;
+}
+
diff --git a/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf
new file mode 100644
index 0000000000..7af0fc44a6
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf
@@ -0,0 +1,36 @@
+## @file
+# PEI CPU Timer Library
+#
+# Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+# counter features are provided by the processors time stamp counter.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = PeiCpuTimerLib
+ FILE_GUID = 2B13DE00-1A5F-4DD7-A298-01B08AF1015A
+ MODULE_TYPE = BASE
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = TimerLib|PEI_CORE PEIM
+ MODULE_UNI_FILE = PeiCpuTimerLib.uni
+
+[Sources]
+ CpuTimerLib.c
+ PeiCpuTimerLib.c
+
+[Packages]
+ MdePkg/MdePkg.dec
+ UefiCpuPkg/UefiCpuPkg.dec
+
+[LibraryClasses]
+ BaseLib
+ PcdLib
+ DebugLib
+ HobLib
+
+[Pcd]
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency ## CONSUMES
diff --git a/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.uni b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.uni
new file mode 100644
index 0000000000..49beb44908
--- /dev/null
+++ b/UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.uni
@@ -0,0 +1,17 @@
+// /** @file
+// PEI CPU Timer Library
+//
+// Provides basic timer support using CPUID Leaf 0x15 XTAL frequency. The performance
+// counter features are provided by the processors time stamp counter.
+//
+// Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_MODULE_ABSTRACT #language en-US "CPU Timer Library"
+
+#string STR_MODULE_DESCRIPTION #language en-US "Provides basic timer support using CPUID Leaf 0x15 XTAL frequency."
+
diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec
index 14ddaa8633..86ad61f64b 100644
--- a/UefiCpuPkg/UefiCpuPkg.dec
+++ b/UefiCpuPkg/UefiCpuPkg.dec
@@ -211,6 +211,14 @@
# @Prompt If CPU features will be initialized during S3 resume.
gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesInitOnS3Resume|FALSE|BOOLEAN|0x0000001D

+ ## Specifies CPUID Leaf 0x15 Time Stamp Counter and Nominal Core Crystal Clock Frequency.
+ # TSC Frequency = ECX (core crystal clock frequency) * EBX/EAX.
+ # Intel Xeon Processor Scalable Family with CPUID signature 06_55H = 25000000 (25MHz)
+ # 6th and 7th generation Intel Core processors and Intel Xeon W Processor Family = 24000000 (24MHz)
+ # Intel Atom processors based on Goldmont Microarchitecture with CPUID signature 06_5CH = 19200000 (19.2MHz)
+ # @Prompt This PCD is the nominal frequency of the core crystal clock in Hz as is CPUID Leaf 0x15:ECX
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency|24000000|UINT64|0x32132113
+
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## Specifies max supported number of Logical Processors.
# @Prompt Configure max supported number of Logical Processors
diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc
index bf690d3978..e7dfe30eda 100644
--- a/UefiCpuPkg/UefiCpuPkg.dsc
+++ b/UefiCpuPkg/UefiCpuPkg.dsc
@@ -101,6 +101,9 @@
UefiCpuPkg/CpuIoPei/CpuIoPei.inf
UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu/SecPeiDxeTimerLibUefiCpu.inf
UefiCpuPkg/Application/Cpuid/Cpuid.inf
+ UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
+ UefiCpuPkg/Library/CpuTimerLib/DxeCpuTimerLib.inf
+ UefiCpuPkg/Library/CpuTimerLib/PeiCpuTimerLib.inf

[Components.IA32, Components.X64]
UefiCpuPkg/CpuDxe/CpuDxe.inf
diff --git a/UefiCpuPkg/UefiCpuPkg.uni b/UefiCpuPkg/UefiCpuPkg.uni
index 80af4fc1d2..fbf7680726 100644
--- a/UefiCpuPkg/UefiCpuPkg.uni
+++ b/UefiCpuPkg/UefiCpuPkg.uni
@@ -242,3 +242,13 @@
#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuKnownGoodStackSize_HELP #language en-US "Size of good stack for an exception.\n"
"This PCD will only take into effect if PcdCpuStackGuard is enabled.\n"

+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuCoreCrystalClockFrequency_PROMPT #language en-US "Specifies CPUID Leaf 0x15 Time Stamp Counter and Nominal Core Crystal Clock Frequency."
+
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuCoreCrystalClockFrequency_HELP #language en-US "Specifies CPUID Leaf 0x15 Time Stamp Counter and Nominal Core Crystal Clock Frequency.<BR><BR>\n"
+ "TSC Frequency = ECX (core crystal clock frequency) * EBX/EAX.<BR><BR>\n"
+ "This PCD is the nominal frequency of the core crystal clock in Hz as is CPUID Leaf 0x15:ECX.<BR><BR>\n"
+ "Default value is 24000000 for 6th and 7th generation Intel Core processors and Intel Xeon W Processor Family.<BR>\n"
+ "25000000 - Intel Xeon Processor Scalable Family with CPUID signature 06_55H(25MHz).<BR>\n"
+ "24000000 - 6th and 7th generation Intel Core processors and Intel Xeon W Processor Family(24MHz).<BR>\n"
+ "19200000 - Intel Atom processors based on Goldmont Microarchitecture with CPUID signature 06_5CH(19.2MHz).<BR>\n"
+
--
2.14.2.windows.3


Re: [PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to PHkdfCtx

Wang, Jian J
 

Shenglei,

I remember the edk2 coding style allows prefix 'p' (optional) to represent a pointer variable.

Regards,
Jian

-----Original Message-----
From: Zhang, Shenglei
Sent: Thursday, August 15, 2019 4:49 PM
To: devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Ye, Ting <ting.ye@intel.com>
Subject: [PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to
PHkdfCtx

Update pHkdfCtx to PHkdfCtx, to follow the variable naming
rule.

Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../Library/BaseCryptLib/Kdf/CryptHkdf.c | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
index f0fcef211d3f..488346a38b8c 100644
--- a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
+++ b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
@@ -39,7 +39,7 @@ HkdfSha256ExtractAndExpand (
IN UINTN OutSize
)
{
- EVP_PKEY_CTX *pHkdfCtx;
+ EVP_PKEY_CTX *PHkdfCtx;
BOOLEAN Result;

if (Key == NULL || Salt == NULL || Info == NULL || Out == NULL ||
@@ -47,29 +47,29 @@ HkdfSha256ExtractAndExpand (
return FALSE;
}

- pHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
- if (pHkdfCtx == NULL) {
+ PHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
+ if (PHkdfCtx == NULL) {
return FALSE;
}

- Result = EVP_PKEY_derive_init(pHkdfCtx) > 0;
+ Result = EVP_PKEY_derive_init(PHkdfCtx) > 0;
if (Result) {
- Result = EVP_PKEY_CTX_set_hkdf_md(pHkdfCtx, EVP_sha256()) > 0;
+ Result = EVP_PKEY_CTX_set_hkdf_md(PHkdfCtx, EVP_sha256()) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_salt(pHkdfCtx, Salt,
(UINT32)SaltSize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_salt(PHkdfCtx, Salt,
(UINT32)SaltSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_key(pHkdfCtx, Key,
(UINT32)KeySize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_key(PHkdfCtx, Key,
(UINT32)KeySize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_add1_hkdf_info(pHkdfCtx, Info,
(UINT32)InfoSize) > 0;
+ Result = EVP_PKEY_CTX_add1_hkdf_info(PHkdfCtx, Info,
(UINT32)InfoSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_derive(pHkdfCtx, Out, &OutSize) > 0;
+ Result = EVP_PKEY_derive(PHkdfCtx, Out, &OutSize) > 0;
}

- EVP_PKEY_CTX_free(pHkdfCtx);
- pHkdfCtx = NULL;
+ EVP_PKEY_CTX_free(PHkdfCtx);
+ PHkdfCtx = NULL;
return Result;
}
--
2.18.0.windows.1


Re: [PATCH v5 22/35] OvmfPkg/XenPlatformPei: no hvmloader: get the E820 table via hypercall

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
When the Xen PVH entry point has been used, hvmloader hasn't run and
hasn't prepared an E820 table. The only way left to get an E820 table
is to ask Xen via an hypercall. We keep the result cached to avoid
making a second hypercall which would give the same result.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- fix commit message, the hypercall *can* be made several time, but we
still cache the result.
Addresses Roger's feedback in:

http://mid.mail-archive.com/20190808104558.vm6dfic5dntjsnt4@Air-de-Roger
https://edk2.groups.io/g/devel/message/45160

My ACK stands.

Thanks
Laszlo


v3:
- fix commit message
- add 'm' prefix to the global variables
and make them static

OvmfPkg/XenPlatformPei/Xen.c | 46 +++++++++++++++++++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
index f26f0e56dd..72f6f37b46 100644
--- a/OvmfPkg/XenPlatformPei/Xen.c
+++ b/OvmfPkg/XenPlatformPei/Xen.c
@@ -27,6 +27,7 @@
#include <Library/MtrrLib.h>
#include <IndustryStandard/Xen/arch-x86/hvm/start_info.h>
#include <Library/XenHypercallLib.h>
+#include <IndustryStandard/Xen/memory.h>

#include "Platform.h"
#include "Xen.h"
@@ -40,6 +41,8 @@ EFI_XEN_INFO mXenInfo;
// Only the E820 table is used by OVMF.
//
EFI_XEN_OVMF_INFO *mXenHvmloaderInfo;
+STATIC EFI_E820_ENTRY64 mE820Entries[128];
+STATIC UINT32 mE820EntriesCount;

/**
Returns E820 map provided by Xen
@@ -55,6 +58,12 @@ XenGetE820Map (
UINT32 *Count
)
{
+ INTN ReturnCode;
+ xen_memory_map_t Parameters;
+ UINTN LoopIndex;
+ UINTN Index;
+ EFI_E820_ENTRY64 TmpEntry;
+
//
// Get E820 produced by hvmloader
//
@@ -66,7 +75,42 @@ XenGetE820Map (
return EFI_SUCCESS;
}

- return EFI_NOT_FOUND;
+ //
+ // Otherwise, get the E820 table from the Xen hypervisor
+ //
+
+ if (mE820EntriesCount > 0) {
+ *Entries = mE820Entries;
+ *Count = mE820EntriesCount;
+ return EFI_SUCCESS;
+ }
+
+ Parameters.nr_entries = 128;
+ set_xen_guest_handle (Parameters.buffer, mE820Entries);
+
+ // Returns a errno
+ ReturnCode = XenHypercallMemoryOp (XENMEM_memory_map, &Parameters);
+ ASSERT (ReturnCode == 0);
+
+ mE820EntriesCount = Parameters.nr_entries;
+
+ //
+ // Sort E820 entries
+ //
+ for (LoopIndex = 1; LoopIndex < mE820EntriesCount; LoopIndex++) {
+ for (Index = LoopIndex; Index < mE820EntriesCount; Index++) {
+ if (mE820Entries[Index - 1].BaseAddr > mE820Entries[Index].BaseAddr) {
+ TmpEntry = mE820Entries[Index];
+ mE820Entries[Index] = mE820Entries[Index - 1];
+ mE820Entries[Index - 1] = TmpEntry;
+ }
+ }
+ }
+
+ *Count = mE820EntriesCount;
+ *Entries = mE820Entries;
+
+ return EFI_SUCCESS;
}

/**


Re: [PATCH 1/1] CryptoPkg/OpensslLib: Add missing header files in INF file

Wang, Jian J
 

Reviewed-by: Jian J Wang <jian.j.wang@intel.com>

-----Original Message-----
From: Zhang, Shenglei
Sent: Tuesday, August 13, 2019 4:50 PM
To: devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Ye, Ting <ting.ye@intel.com>
Subject: [PATCH 1/1] CryptoPkg/OpensslLib: Add missing header files in INF
file

The header files are used but missing in INF,which causes
warning message when building them.
https://bugzilla.tianocore.org/show_bug.cgi?id=2036

Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
CryptoPkg/Library/OpensslLib/OpensslLib.inf | 59
+++++++++++++++++++
.../Library/OpensslLib/OpensslLibCrypto.inf | 53 ++++++++++++++++-
2 files changed, 111 insertions(+), 1 deletion(-)

diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index 5f36edeeef3c..7432321fd431 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -22,6 +22,8 @@ [Defines]
#

[Sources]
+ buildinf.h
+ rand_pool_noise.h
$(OPENSSL_PATH)/e_os.h
# Autogenerated files list starts here
$(OPENSSL_PATH)/crypto/aes/aes_cbc.c
@@ -32,7 +34,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/aes/aes_misc.c
$(OPENSSL_PATH)/crypto/aes/aes_ofb.c
$(OPENSSL_PATH)/crypto/aes/aes_wrap.c
+ $(OPENSSL_PATH)/crypto/aes/aes_locl.h
$(OPENSSL_PATH)/crypto/aria/aria.c
+ $(OPENSSL_PATH)/crypto/arm_arch.h
$(OPENSSL_PATH)/crypto/asn1/a_bitstr.c
$(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c
$(OPENSSL_PATH)/crypto/asn1/a_digest.c
@@ -97,12 +101,21 @@ [Sources]
$(OPENSSL_PATH)/crypto/asn1/x_sig.c
$(OPENSSL_PATH)/crypto/asn1/x_spki.c
$(OPENSSL_PATH)/crypto/asn1/x_val.c
+ $(OPENSSL_PATH)/crypto/asn1/standard_methods.h
+ $(OPENSSL_PATH)/crypto/asn1/charmap.h
+ $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h
+ $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h
+ $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h
$(OPENSSL_PATH)/crypto/async/arch/async_null.c
$(OPENSSL_PATH)/crypto/async/arch/async_posix.c
$(OPENSSL_PATH)/crypto/async/arch/async_win.c
$(OPENSSL_PATH)/crypto/async/async.c
$(OPENSSL_PATH)/crypto/async/async_err.c
$(OPENSSL_PATH)/crypto/async/async_wait.c
+ $(OPENSSL_PATH)/crypto/async/arch/async_win.h
+ $(OPENSSL_PATH)/crypto/async/async_locl.h
+ $(OPENSSL_PATH)/crypto/async/arch/async_posix.h
+ $(OPENSSL_PATH)/crypto/async/arch/async_null.h
$(OPENSSL_PATH)/crypto/bio/b_addr.c
$(OPENSSL_PATH)/crypto/bio/b_dump.c
$(OPENSSL_PATH)/crypto/bio/b_sock.c
@@ -125,6 +138,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/bio/bss_mem.c
$(OPENSSL_PATH)/crypto/bio/bss_null.c
$(OPENSSL_PATH)/crypto/bio/bss_sock.c
+ $(OPENSSL_PATH)/crypto/bio/bio_lcl.h
$(OPENSSL_PATH)/crypto/bn/bn_add.c
$(OPENSSL_PATH)/crypto/bn/bn_asm.c
$(OPENSSL_PATH)/crypto/bn/bn_blind.c
@@ -156,6 +170,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/bn/bn_srp.c
$(OPENSSL_PATH)/crypto/bn/bn_word.c
$(OPENSSL_PATH)/crypto/bn/bn_x931p.c
+ $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h
+ $(OPENSSL_PATH)/crypto/bn/bn_prime.h
+ $(OPENSSL_PATH)/crypto/bn/bn_lcl.h
$(OPENSSL_PATH)/crypto/buffer/buf_err.c
$(OPENSSL_PATH)/crypto/buffer/buffer.c
$(OPENSSL_PATH)/crypto/cmac/cm_ameth.c
@@ -164,6 +181,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/comp/c_zlib.c
$(OPENSSL_PATH)/crypto/comp/comp_err.c
$(OPENSSL_PATH)/crypto/comp/comp_lib.c
+ $(OPENSSL_PATH)/crypto/comp/comp_lcl.h
$(OPENSSL_PATH)/crypto/conf/conf_api.c
$(OPENSSL_PATH)/crypto/conf/conf_def.c
$(OPENSSL_PATH)/crypto/conf/conf_err.c
@@ -172,6 +190,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/conf/conf_mod.c
$(OPENSSL_PATH)/crypto/conf/conf_sap.c
$(OPENSSL_PATH)/crypto/conf/conf_ssl.c
+ $(OPENSSL_PATH)/crypto/conf/conf_lcl.h
+ $(OPENSSL_PATH)/crypto/conf/conf_def.h
$(OPENSSL_PATH)/crypto/cpt_err.c
$(OPENSSL_PATH)/crypto/cryptlib.c
$(OPENSSL_PATH)/crypto/ctype.c
@@ -195,6 +215,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/des/set_key.c
$(OPENSSL_PATH)/crypto/des/str2key.c
$(OPENSSL_PATH)/crypto/des/xcbc_enc.c
+ $(OPENSSL_PATH)/crypto/des/spr.h
+ $(OPENSSL_PATH)/crypto/des/des_locl.h
$(OPENSSL_PATH)/crypto/dh/dh_ameth.c
$(OPENSSL_PATH)/crypto/dh/dh_asn1.c
$(OPENSSL_PATH)/crypto/dh/dh_check.c
@@ -209,6 +231,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/dh/dh_prn.c
$(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c
$(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c
+ $(OPENSSL_PATH)/crypto/dh/dh_locl.h
$(OPENSSL_PATH)/crypto/dso/dso_dl.c
$(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c
$(OPENSSL_PATH)/crypto/dso/dso_err.c
@@ -216,6 +239,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/dso/dso_openssl.c
$(OPENSSL_PATH)/crypto/dso/dso_vms.c
$(OPENSSL_PATH)/crypto/dso/dso_win32.c
+ $(OPENSSL_PATH)/crypto/dso/dso_locl.h
$(OPENSSL_PATH)/crypto/ebcdic.c
$(OPENSSL_PATH)/crypto/err/err.c
$(OPENSSL_PATH)/crypto/err/err_prn.c
@@ -280,11 +304,13 @@ [Sources]
$(OPENSSL_PATH)/crypto/evp/pmeth_fn.c
$(OPENSSL_PATH)/crypto/evp/pmeth_gn.c
$(OPENSSL_PATH)/crypto/evp/pmeth_lib.c
+ $(OPENSSL_PATH)/crypto/evp/evp_locl.h
$(OPENSSL_PATH)/crypto/ex_data.c
$(OPENSSL_PATH)/crypto/getenv.c
$(OPENSSL_PATH)/crypto/hmac/hm_ameth.c
$(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c
$(OPENSSL_PATH)/crypto/hmac/hmac.c
+ $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h
$(OPENSSL_PATH)/crypto/init.c
$(OPENSSL_PATH)/crypto/kdf/hkdf.c
$(OPENSSL_PATH)/crypto/kdf/kdf_err.c
@@ -292,10 +318,13 @@ [Sources]
$(OPENSSL_PATH)/crypto/kdf/tls1_prf.c
$(OPENSSL_PATH)/crypto/lhash/lh_stats.c
$(OPENSSL_PATH)/crypto/lhash/lhash.c
+ $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h
$(OPENSSL_PATH)/crypto/md4/md4_dgst.c
$(OPENSSL_PATH)/crypto/md4/md4_one.c
+ $(OPENSSL_PATH)/crypto/md4/md4_locl.h
$(OPENSSL_PATH)/crypto/md5/md5_dgst.c
$(OPENSSL_PATH)/crypto/md5/md5_one.c
+ $(OPENSSL_PATH)/crypto/md5/md5_locl.h
$(OPENSSL_PATH)/crypto/mem.c
$(OPENSSL_PATH)/crypto/mem_clr.c
$(OPENSSL_PATH)/crypto/mem_dbg.c
@@ -310,6 +339,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/modes/ofb128.c
$(OPENSSL_PATH)/crypto/modes/wrap128.c
$(OPENSSL_PATH)/crypto/modes/xts128.c
+ $(OPENSSL_PATH)/crypto/modes/modes_lcl.h
$(OPENSSL_PATH)/crypto/o_dir.c
$(OPENSSL_PATH)/crypto/o_fips.c
$(OPENSSL_PATH)/crypto/o_fopen.c
@@ -321,6 +351,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/objects/obj_err.c
$(OPENSSL_PATH)/crypto/objects/obj_lib.c
$(OPENSSL_PATH)/crypto/objects/obj_xref.c
+ $(OPENSSL_PATH)/crypto/objects/obj_dat.h
+ $(OPENSSL_PATH)/crypto/objects/obj_xref.h
+ $(OPENSSL_PATH)/crypto/objects/obj_lcl.h
$(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c
@@ -331,6 +364,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c
$(OPENSSL_PATH)/crypto/ocsp/v3_ocsp.c
+ $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h
$(OPENSSL_PATH)/crypto/pem/pem_all.c
$(OPENSSL_PATH)/crypto/pem/pem_err.c
$(OPENSSL_PATH)/crypto/pem/pem_info.c
@@ -358,6 +392,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/pkcs12/p12_sbag.c
$(OPENSSL_PATH)/crypto/pkcs12/p12_utl.c
$(OPENSSL_PATH)/crypto/pkcs12/pk12err.c
+ $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h
$(OPENSSL_PATH)/crypto/pkcs7/bio_pk7.c
$(OPENSSL_PATH)/crypto/pkcs7/pk7_asn1.c
$(OPENSSL_PATH)/crypto/pkcs7/pk7_attr.c
@@ -366,6 +401,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c
$(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c
$(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c
+ $(OPENSSL_PATH)/crypto/ppc_arch.h
$(OPENSSL_PATH)/crypto/rand/drbg_ctr.c
$(OPENSSL_PATH)/crypto/rand/drbg_lib.c
$(OPENSSL_PATH)/crypto/rand/rand_egd.c
@@ -374,8 +410,10 @@ [Sources]
$(OPENSSL_PATH)/crypto/rand/rand_unix.c
$(OPENSSL_PATH)/crypto/rand/rand_vms.c
$(OPENSSL_PATH)/crypto/rand/rand_win.c
+ $(OPENSSL_PATH)/crypto/rand/rand_lcl.h
$(OPENSSL_PATH)/crypto/rc4/rc4_enc.c
$(OPENSSL_PATH)/crypto/rc4/rc4_skey.c
+ $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
$(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c
$(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c
$(OPENSSL_PATH)/crypto/rsa/rsa_chk.c
@@ -398,18 +436,24 @@ [Sources]
$(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c
$(OPENSSL_PATH)/crypto/rsa/rsa_x931.c
$(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c
+ $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
+ $(OPENSSL_PATH)/crypto/s390x_arch.h
$(OPENSSL_PATH)/crypto/sha/keccak1600.c
$(OPENSSL_PATH)/crypto/sha/sha1_one.c
$(OPENSSL_PATH)/crypto/sha/sha1dgst.c
$(OPENSSL_PATH)/crypto/sha/sha256.c
$(OPENSSL_PATH)/crypto/sha/sha512.c
+ $(OPENSSL_PATH)/crypto/sha/sha_locl.h
$(OPENSSL_PATH)/crypto/siphash/siphash.c
$(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c
$(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c
+ $(OPENSSL_PATH)/crypto/siphash/siphash_local.h
$(OPENSSL_PATH)/crypto/sm3/m_sm3.c
$(OPENSSL_PATH)/crypto/sm3/sm3.c
+ $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h
$(OPENSSL_PATH)/crypto/sm4/sm4.c
$(OPENSSL_PATH)/crypto/stack/stack.c
+ $(OPENSSL_PATH)/crypto/sparc_arch.h
$(OPENSSL_PATH)/crypto/threads_none.c
$(OPENSSL_PATH)/crypto/threads_pthread.c
$(OPENSSL_PATH)/crypto/threads_win.c
@@ -419,6 +463,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/ui/ui_null.c
$(OPENSSL_PATH)/crypto/ui/ui_openssl.c
$(OPENSSL_PATH)/crypto/ui/ui_util.c
+ $(OPENSSL_PATH)/crypto/ui/ui_locl.h
+ $(OPENSSL_PATH)/crypto/vms_rms.h
$(OPENSSL_PATH)/crypto/uid.c
$(OPENSSL_PATH)/crypto/x509/by_dir.c
$(OPENSSL_PATH)/crypto/x509/by_file.c
@@ -456,6 +502,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/x509/x_req.c
$(OPENSSL_PATH)/crypto/x509/x_x509.c
$(OPENSSL_PATH)/crypto/x509/x_x509a.c
+ $(OPENSSL_PATH)/crypto/x509/x509_lcl.h
$(OPENSSL_PATH)/crypto/x509v3/pcy_cache.c
$(OPENSSL_PATH)/crypto/x509v3/pcy_data.c
$(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c
@@ -493,6 +540,11 @@ [Sources]
$(OPENSSL_PATH)/crypto/x509v3/v3_tlsf.c
$(OPENSSL_PATH)/crypto/x509v3/v3_utl.c
$(OPENSSL_PATH)/crypto/x509v3/v3err.c
+ $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h
+ $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h
+ $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h
+ $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h
+ $(OPENSSL_PATH)/ms/uplink.h
$(OPENSSL_PATH)/ssl/bio_ssl.c
$(OPENSSL_PATH)/ssl/d1_lib.c
$(OPENSSL_PATH)/ssl/d1_msg.c
@@ -537,6 +589,13 @@ [Sources]
$(OPENSSL_PATH)/ssl/t1_trce.c
$(OPENSSL_PATH)/ssl/tls13_enc.c
$(OPENSSL_PATH)/ssl/tls_srp.c
+ $(OPENSSL_PATH)/ssl/record/record_locl.h
+ $(OPENSSL_PATH)/ssl/statem/statem.h
+ $(OPENSSL_PATH)/ssl/statem/statem_locl.h
+ $(OPENSSL_PATH)/ssl/ssl_locl.h
+ $(OPENSSL_PATH)/ssl/record/record.h
+ $(OPENSSL_PATH)/ssl/ssl_cert_table.h
+ $(OPENSSL_PATH)/ssl/packet_locl.h
# Autogenerated files list ends here

ossl_store.c
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
index de05cac931d9..8134b45eda25 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
@@ -23,6 +23,7 @@ [Defines]

[Sources]
$(OPENSSL_PATH)/e_os.h
+ $(OPENSSL_PATH)/ms/uplink.h
# Autogenerated files list starts here
$(OPENSSL_PATH)/crypto/aes/aes_cbc.c
$(OPENSSL_PATH)/crypto/aes/aes_cfb.c
@@ -32,7 +33,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/aes/aes_misc.c
$(OPENSSL_PATH)/crypto/aes/aes_ofb.c
$(OPENSSL_PATH)/crypto/aes/aes_wrap.c
+ $(OPENSSL_PATH)/crypto/aes/aes_locl.h
$(OPENSSL_PATH)/crypto/aria/aria.c
+ $(OPENSSL_PATH)/crypto/arm_arch.h
$(OPENSSL_PATH)/crypto/asn1/a_bitstr.c
$(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c
$(OPENSSL_PATH)/crypto/asn1/a_digest.c
@@ -97,12 +100,21 @@ [Sources]
$(OPENSSL_PATH)/crypto/asn1/x_sig.c
$(OPENSSL_PATH)/crypto/asn1/x_spki.c
$(OPENSSL_PATH)/crypto/asn1/x_val.c
+ $(OPENSSL_PATH)/crypto/asn1/standard_methods.h
+ $(OPENSSL_PATH)/crypto/asn1/charmap.h
+ $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h
+ $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h
+ $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h
$(OPENSSL_PATH)/crypto/async/arch/async_null.c
$(OPENSSL_PATH)/crypto/async/arch/async_posix.c
$(OPENSSL_PATH)/crypto/async/arch/async_win.c
+ $(OPENSSL_PATH)/crypto/async/arch/async_posix.h
+ $(OPENSSL_PATH)/crypto/async/arch/async_null.h
+ $(OPENSSL_PATH)/crypto/async/arch/async_win.h
$(OPENSSL_PATH)/crypto/async/async.c
$(OPENSSL_PATH)/crypto/async/async_err.c
$(OPENSSL_PATH)/crypto/async/async_wait.c
+ $(OPENSSL_PATH)/crypto/async/async_locl.h
$(OPENSSL_PATH)/crypto/bio/b_addr.c
$(OPENSSL_PATH)/crypto/bio/b_dump.c
$(OPENSSL_PATH)/crypto/bio/b_sock.c
@@ -125,6 +137,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/bio/bss_mem.c
$(OPENSSL_PATH)/crypto/bio/bss_null.c
$(OPENSSL_PATH)/crypto/bio/bss_sock.c
+ $(OPENSSL_PATH)/crypto/bio/bio_lcl.h
$(OPENSSL_PATH)/crypto/bn/bn_add.c
$(OPENSSL_PATH)/crypto/bn/bn_asm.c
$(OPENSSL_PATH)/crypto/bn/bn_blind.c
@@ -156,6 +169,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/bn/bn_srp.c
$(OPENSSL_PATH)/crypto/bn/bn_word.c
$(OPENSSL_PATH)/crypto/bn/bn_x931p.c
+ $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h
+ $(OPENSSL_PATH)/crypto/bn/bn_prime.h
+ $(OPENSSL_PATH)/crypto/bn/bn_lcl.h
$(OPENSSL_PATH)/crypto/buffer/buf_err.c
$(OPENSSL_PATH)/crypto/buffer/buffer.c
$(OPENSSL_PATH)/crypto/cmac/cm_ameth.c
@@ -164,6 +180,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/comp/c_zlib.c
$(OPENSSL_PATH)/crypto/comp/comp_err.c
$(OPENSSL_PATH)/crypto/comp/comp_lib.c
+ $(OPENSSL_PATH)/crypto/comp/comp_lcl.h
$(OPENSSL_PATH)/crypto/conf/conf_api.c
$(OPENSSL_PATH)/crypto/conf/conf_def.c
$(OPENSSL_PATH)/crypto/conf/conf_err.c
@@ -172,6 +189,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/conf/conf_mod.c
$(OPENSSL_PATH)/crypto/conf/conf_sap.c
$(OPENSSL_PATH)/crypto/conf/conf_ssl.c
+ $(OPENSSL_PATH)/crypto/conf/conf_lcl.h
+ $(OPENSSL_PATH)/crypto/conf/conf_def.h
$(OPENSSL_PATH)/crypto/cpt_err.c
$(OPENSSL_PATH)/crypto/cryptlib.c
$(OPENSSL_PATH)/crypto/ctype.c
@@ -195,6 +214,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/des/set_key.c
$(OPENSSL_PATH)/crypto/des/str2key.c
$(OPENSSL_PATH)/crypto/des/xcbc_enc.c
+ $(OPENSSL_PATH)/crypto/des/spr.h
+ $(OPENSSL_PATH)/crypto/des/des_locl.h
$(OPENSSL_PATH)/crypto/dh/dh_ameth.c
$(OPENSSL_PATH)/crypto/dh/dh_asn1.c
$(OPENSSL_PATH)/crypto/dh/dh_check.c
@@ -209,6 +230,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/dh/dh_prn.c
$(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c
$(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c
+ $(OPENSSL_PATH)/crypto/dh/dh_locl.h
$(OPENSSL_PATH)/crypto/dso/dso_dl.c
$(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c
$(OPENSSL_PATH)/crypto/dso/dso_err.c
@@ -216,6 +238,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/dso/dso_openssl.c
$(OPENSSL_PATH)/crypto/dso/dso_vms.c
$(OPENSSL_PATH)/crypto/dso/dso_win32.c
+ $(OPENSSL_PATH)/crypto/dso/dso_locl.h
$(OPENSSL_PATH)/crypto/ebcdic.c
$(OPENSSL_PATH)/crypto/err/err.c
$(OPENSSL_PATH)/crypto/err/err_prn.c
@@ -257,6 +280,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/evp/evp_pkey.c
$(OPENSSL_PATH)/crypto/evp/m_md2.c
$(OPENSSL_PATH)/crypto/evp/m_md4.c
+ $(OPENSSL_PATH)/crypto/md4/md4_locl.h
$(OPENSSL_PATH)/crypto/evp/m_md5.c
$(OPENSSL_PATH)/crypto/evp/m_md5_sha1.c
$(OPENSSL_PATH)/crypto/evp/m_mdc2.c
@@ -280,11 +304,13 @@ [Sources]
$(OPENSSL_PATH)/crypto/evp/pmeth_fn.c
$(OPENSSL_PATH)/crypto/evp/pmeth_gn.c
$(OPENSSL_PATH)/crypto/evp/pmeth_lib.c
+ $(OPENSSL_PATH)/crypto/evp/evp_locl.h
$(OPENSSL_PATH)/crypto/ex_data.c
$(OPENSSL_PATH)/crypto/getenv.c
$(OPENSSL_PATH)/crypto/hmac/hm_ameth.c
$(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c
$(OPENSSL_PATH)/crypto/hmac/hmac.c
+ $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h
$(OPENSSL_PATH)/crypto/init.c
$(OPENSSL_PATH)/crypto/kdf/hkdf.c
$(OPENSSL_PATH)/crypto/kdf/kdf_err.c
@@ -292,10 +318,12 @@ [Sources]
$(OPENSSL_PATH)/crypto/kdf/tls1_prf.c
$(OPENSSL_PATH)/crypto/lhash/lh_stats.c
$(OPENSSL_PATH)/crypto/lhash/lhash.c
+ $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h
$(OPENSSL_PATH)/crypto/md4/md4_dgst.c
$(OPENSSL_PATH)/crypto/md4/md4_one.c
$(OPENSSL_PATH)/crypto/md5/md5_dgst.c
$(OPENSSL_PATH)/crypto/md5/md5_one.c
+ $(OPENSSL_PATH)/crypto/md5/md5_locl.h
$(OPENSSL_PATH)/crypto/mem.c
$(OPENSSL_PATH)/crypto/mem_clr.c
$(OPENSSL_PATH)/crypto/mem_dbg.c
@@ -310,6 +338,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/modes/ofb128.c
$(OPENSSL_PATH)/crypto/modes/wrap128.c
$(OPENSSL_PATH)/crypto/modes/xts128.c
+ $(OPENSSL_PATH)/crypto/modes/modes_lcl.h
$(OPENSSL_PATH)/crypto/o_dir.c
$(OPENSSL_PATH)/crypto/o_fips.c
$(OPENSSL_PATH)/crypto/o_fopen.c
@@ -321,6 +350,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/objects/obj_err.c
$(OPENSSL_PATH)/crypto/objects/obj_lib.c
$(OPENSSL_PATH)/crypto/objects/obj_xref.c
+ $(OPENSSL_PATH)/crypto/objects/obj_dat.h
+ $(OPENSSL_PATH)/crypto/objects/obj_xref.h
+ $(OPENSSL_PATH)/crypto/objects/obj_lcl.h
$(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c
@@ -331,6 +363,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c
$(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c
$(OPENSSL_PATH)/crypto/ocsp/v3_ocsp.c
+ $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h
$(OPENSSL_PATH)/crypto/pem/pem_all.c
$(OPENSSL_PATH)/crypto/pem/pem_err.c
$(OPENSSL_PATH)/crypto/pem/pem_info.c
@@ -366,6 +399,8 @@ [Sources]
$(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c
$(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c
$(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c
+ $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h
+ $(OPENSSL_PATH)/crypto/ppc_arch.h
$(OPENSSL_PATH)/crypto/rand/drbg_ctr.c
$(OPENSSL_PATH)/crypto/rand/drbg_lib.c
$(OPENSSL_PATH)/crypto/rand/rand_egd.c
@@ -374,8 +409,10 @@ [Sources]
$(OPENSSL_PATH)/crypto/rand/rand_unix.c
$(OPENSSL_PATH)/crypto/rand/rand_vms.c
$(OPENSSL_PATH)/crypto/rand/rand_win.c
+ $(OPENSSL_PATH)/crypto/rand/rand_lcl.h
$(OPENSSL_PATH)/crypto/rc4/rc4_enc.c
$(OPENSSL_PATH)/crypto/rc4/rc4_skey.c
+ $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
$(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c
$(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c
$(OPENSSL_PATH)/crypto/rsa/rsa_chk.c
@@ -398,18 +435,24 @@ [Sources]
$(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c
$(OPENSSL_PATH)/crypto/rsa/rsa_x931.c
$(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c
+ $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
$(OPENSSL_PATH)/crypto/sha/keccak1600.c
$(OPENSSL_PATH)/crypto/sha/sha1_one.c
$(OPENSSL_PATH)/crypto/sha/sha1dgst.c
$(OPENSSL_PATH)/crypto/sha/sha256.c
$(OPENSSL_PATH)/crypto/sha/sha512.c
+ $(OPENSSL_PATH)/crypto/sha/sha_locl.h
$(OPENSSL_PATH)/crypto/siphash/siphash.c
$(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c
$(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c
+ $(OPENSSL_PATH)/crypto/siphash/siphash_local.h
$(OPENSSL_PATH)/crypto/sm3/m_sm3.c
$(OPENSSL_PATH)/crypto/sm3/sm3.c
+ $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h
$(OPENSSL_PATH)/crypto/sm4/sm4.c
$(OPENSSL_PATH)/crypto/stack/stack.c
+ $(OPENSSL_PATH)/crypto/s390x_arch.h
+ $(OPENSSL_PATH)/crypto/sparc_arch.h
$(OPENSSL_PATH)/crypto/threads_none.c
$(OPENSSL_PATH)/crypto/threads_pthread.c
$(OPENSSL_PATH)/crypto/threads_win.c
@@ -419,7 +462,9 @@ [Sources]
$(OPENSSL_PATH)/crypto/ui/ui_null.c
$(OPENSSL_PATH)/crypto/ui/ui_openssl.c
$(OPENSSL_PATH)/crypto/ui/ui_util.c
+ $(OPENSSL_PATH)/crypto/ui/ui_locl.h
$(OPENSSL_PATH)/crypto/uid.c
+ $(OPENSSL_PATH)/crypto/vms_rms.h
$(OPENSSL_PATH)/crypto/x509/by_dir.c
$(OPENSSL_PATH)/crypto/x509/by_file.c
$(OPENSSL_PATH)/crypto/x509/t_crl.c
@@ -456,6 +501,7 @@ [Sources]
$(OPENSSL_PATH)/crypto/x509/x_req.c
$(OPENSSL_PATH)/crypto/x509/x_x509.c
$(OPENSSL_PATH)/crypto/x509/x_x509a.c
+ $(OPENSSL_PATH)/crypto/x509/x509_lcl.h
$(OPENSSL_PATH)/crypto/x509v3/pcy_cache.c
$(OPENSSL_PATH)/crypto/x509v3/pcy_data.c
$(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c
@@ -493,8 +539,13 @@ [Sources]
$(OPENSSL_PATH)/crypto/x509v3/v3_tlsf.c
$(OPENSSL_PATH)/crypto/x509v3/v3_utl.c
$(OPENSSL_PATH)/crypto/x509v3/v3err.c
+ $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h
+ $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h
+ $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h
+ $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h
# Autogenerated files list ends here
-
+ buildinf.h
+ rand_pool_noise.h
ossl_store.c
rand_pool.c

--
2.18.0.windows.1


Re: [PATCH v5 20/35] OvmfPkg/XenPlatformPei: Introduce XenPvhDetected

Laszlo Ersek
 

On 08/13/19 13:31, Anthony PERARD wrote:
XenPvhDetected() can be used to figure out if OVMF has started via the
Xen PVH entry point.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
v5:
- in XenPvhDetected, check mXenInfo.HyperPages instead of .VersionMajor
Right, and that seems to address

http://mid.mail-archive.com/20190808104354.wcl2vicpmvbl3rlz@Air-de-Roger
https://edk2.groups.io/g/devel/message/45159

So my ACK stands.

Thanks
Laszlo

OvmfPkg/XenPlatformPei/Platform.h | 5 +++++
OvmfPkg/XenPlatformPei/Xen.c | 13 +++++++++++++
2 files changed, 18 insertions(+)

diff --git a/OvmfPkg/XenPlatformPei/Platform.h b/OvmfPkg/XenPlatformPei/Platform.h
index 4a80057bdc..db9a62572f 100644
--- a/OvmfPkg/XenPlatformPei/Platform.h
+++ b/OvmfPkg/XenPlatformPei/Platform.h
@@ -99,6 +99,11 @@ XenHvmloaderDetected (
VOID
);

+BOOLEAN
+XenPvhDetected (
+ VOID
+ );
+
VOID
AmdSevInitialize (
VOID
diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
index 29b42b746c..f26f0e56dd 100644
--- a/OvmfPkg/XenPlatformPei/Xen.c
+++ b/OvmfPkg/XenPlatformPei/Xen.c
@@ -214,6 +214,19 @@ XenHvmloaderDetected (
return (mXenHvmloaderInfo != NULL);
}

+BOOLEAN
+XenPvhDetected (
+ VOID
+ )
+{
+ //
+ // This function should only be used after XenConnect
+ //
+ ASSERT (mXenInfo.HyperPages != NULL);
+
+ return mXenHvmloaderInfo == NULL;
+}
+
VOID
XenPublishRamRegions (
VOID


[PATCH 1/1] CryptoPkg/BaseCryptLib: Update pHkdfCtx to PHkdfCtx

Zhang, Shenglei
 

Update pHkdfCtx to PHkdfCtx, to follow the variable naming
rule.

Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../Library/BaseCryptLib/Kdf/CryptHkdf.c | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
index f0fcef211d3f..488346a38b8c 100644
--- a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
+++ b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
@@ -39,7 +39,7 @@ HkdfSha256ExtractAndExpand (
IN UINTN OutSize
)
{
- EVP_PKEY_CTX *pHkdfCtx;
+ EVP_PKEY_CTX *PHkdfCtx;
BOOLEAN Result;

if (Key == NULL || Salt == NULL || Info == NULL || Out == NULL ||
@@ -47,29 +47,29 @@ HkdfSha256ExtractAndExpand (
return FALSE;
}

- pHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
- if (pHkdfCtx == NULL) {
+ PHkdfCtx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL);
+ if (PHkdfCtx == NULL) {
return FALSE;
}

- Result = EVP_PKEY_derive_init(pHkdfCtx) > 0;
+ Result = EVP_PKEY_derive_init(PHkdfCtx) > 0;
if (Result) {
- Result = EVP_PKEY_CTX_set_hkdf_md(pHkdfCtx, EVP_sha256()) > 0;
+ Result = EVP_PKEY_CTX_set_hkdf_md(PHkdfCtx, EVP_sha256()) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_salt(pHkdfCtx, Salt, (UINT32)SaltSize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_salt(PHkdfCtx, Salt, (UINT32)SaltSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_set1_hkdf_key(pHkdfCtx, Key, (UINT32)KeySize) > 0;
+ Result = EVP_PKEY_CTX_set1_hkdf_key(PHkdfCtx, Key, (UINT32)KeySize) > 0;
}
if (Result) {
- Result = EVP_PKEY_CTX_add1_hkdf_info(pHkdfCtx, Info, (UINT32)InfoSize) > 0;
+ Result = EVP_PKEY_CTX_add1_hkdf_info(PHkdfCtx, Info, (UINT32)InfoSize) > 0;
}
if (Result) {
- Result = EVP_PKEY_derive(pHkdfCtx, Out, &OutSize) > 0;
+ Result = EVP_PKEY_derive(PHkdfCtx, Out, &OutSize) > 0;
}

- EVP_PKEY_CTX_free(pHkdfCtx);
- pHkdfCtx = NULL;
+ EVP_PKEY_CTX_free(PHkdfCtx);
+ PHkdfCtx = NULL;
return Result;
}
--
2.18.0.windows.1


Re: [edk2-non-osi][PATCH V2 1/2] CoffeelakeSiliconBinPkg: Add package contents

Chaganty, Rangasai V
 

Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>

-----Original Message-----
From: Kubacki, Michael A
Sent: Wednesday, August 14, 2019 9:15 PM
To: devel@edk2.groups.io
Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: [edk2-non-osi][PATCH V2 1/2] CoffeelakeSiliconBinPkg: Add package contents

Create the CoffeelakeSiliconBinPkg to contain binary files needed
by CoffeelakeSiliconPkg to support Coffee Lake (CFL) and Whiskey
Lake (WHL) generation products.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
---
Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/MicrocodeUpdates.inf | 21 ++
Silicon/Intel/CoffeelakeSiliconBinPkg/ChipsetInit/CnlPchLpChipsetInitTable_Dx.bin | Bin 0 -> 4620 bytes
Silicon/Intel/CoffeelakeSiliconBinPkg/Contributions.txt | 218 ++++++++++++++++++++
Silicon/Intel/CoffeelakeSiliconBinPkg/License.txt | 30 +++
Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/IntelMicrocodeLicense.txt | 37 ++++
Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/m90806EC_000000AA.mcb | Bin 0 -> 98304 bytes
Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mC0806EA_0000009E.mcb | Bin 0 -> 98304 bytes
Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mD0806EB_000000A4.mcb | Bin 0 -> 99328 bytes
8 files changed, 306 insertions(+)

diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/MicrocodeUpdates.inf b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/MicrocodeUpdates.inf
new file mode 100644
index 0000000..07f1487
--- /dev/null
+++ b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/MicrocodeUpdates.inf
@@ -0,0 +1,21 @@
+### @file
+# Component information file for AcpiPlatform module
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+###
+
+[defines]
+ INF_VERSION = 0x00010017
+ BASE_NAME = MicrocodeUpdates
+ FILE_GUID = 1FAE4D78-CB33-4F73-8881-A1EA8F5EDFEF
+ VERSION_STRING = 1.0
+ MODULE_TYPE = USER_DEFINED
+
+[Sources]
+ mC0806EA_0000009E.mcb
+ mD0806EB_000000A4.mcb
+ m90806EC_000000AA.mcb
+
diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/ChipsetInit/CnlPchLpChipsetInitTable_Dx.bin b/Silicon/Intel/CoffeelakeSiliconBinPkg/ChipsetInit/CnlPchLpChipsetInitTable_Dx.bin
new file mode 100644
index 0000000000000000000000000000000000000000..1c0450001fae4f11e36b5f344f7591a285918a66
GIT binary patch
literal 4620
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
B*WLgC

literal 0
HcmV?d00001

diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Contributions.txt b/Silicon/Intel/CoffeelakeSiliconBinPkg/Contributions.txt
new file mode 100644
index 0000000..f87cbd7
--- /dev/null
+++ b/Silicon/Intel/CoffeelakeSiliconBinPkg/Contributions.txt
@@ -0,0 +1,218 @@
+
+======================
+= Code Contributions =
+======================
+
+To make a contribution to a TianoCore project, follow these steps.
+1. Create a change description in the format specified below to
+ use in the source control commit log.
+2. Your commit message must include your "Signed-off-by" signature,
+ and "Contributed-under" message.
+3. Your "Contributed-under" message explicitly states that the
+ contribution is made under the terms of the specified
+ contribution agreement. Your "Contributed-under" message
+ must include the name of contribution agreement and version.
+ For example: Contributed-under: TianoCore Contribution Agreement 1.0
+ The "TianoCore Contribution Agreement" is included below in
+ this document.
+4. Submit your code to the TianoCore project using the process
+ that the project documents on its web page. If the process is
+ not documented, then submit the code on development email list
+ for the project.
+5. It is preferred that contributions are submitted using the same
+ copyright license as the base project. When that is not possible,
+ then contributions using the following licenses can be accepted:
+ * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
+ * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
+ * MIT: http://opensource.org/licenses/MIT
+ * Python-2.0: http://opensource.org/licenses/Python-2.0
+ * Zlib: http://opensource.org/licenses/Zlib
+
+ Contributions of code put into the public domain can also be
+ accepted.
+
+ Contributions using other licenses might be accepted, but further
+ review will be required.
+
+=====================================================
+= Change Description / Commit Message / Patch Email =
+=====================================================
+
+Your change description should use the standard format for a
+commit message, and must include your "Signed-off-by" signature
+and the "Contributed-under" message.
+
+== Sample Change Description / Commit Message =
+
+=== Start of sample patch email message ===
+
+From: Contributor Name <contributor@example.com>
+Subject: [PATCH] CodeModule: Brief-single-line-summary
+
+Full-commit-message
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Contributor Name <contributor@example.com>
+---
+
+An extra message for the patch email which will not be considered part
+of the commit message can be added here.
+
+Patch content inline or attached
+
+=== End of sample patch email message ===
+
+=== Notes for sample patch email ===
+
+* The first line of commit message is taken from the email's subject
+ line following [PATCH]. The remaining portion of the commit message
+ is the email's content until the '---' line.
+* git format-patch is one way to create this format
+
+=== Definitions for sample patch email ===
+
+* "CodeModule" is a short idenfier for the affected code. For
+ example MdePkg, or MdeModulePkg UsbBusDxe.
+* "Brief-single-line-summary" is a short summary of the change.
+* The entire first line should be less than ~70 characters.
+* "Full-commit-message" a verbose multiple line comment describing
+ the change. Each line should be less than ~70 characters.
+* "Contributed-under" explicitely states that the contribution is
+ made under the terms of the contribtion agreement. This
+ agreement is included below in this document.
+* "Signed-off-by" is the contributor's signature identifying them
+ by their real/legal name and their email address.
+
+========================================
+= TianoCore Contribution Agreement 1.0 =
+========================================
+
+INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
+PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
+TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
+REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
+CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+USE THE CONTENT.
+
+Unless otherwise indicated, all Content made available on the TianoCore
+site is provided to you under the terms and conditions of the BSD
+License ("BSD"). A copy of the BSD License is available at
+http://opensource.org/licenses/bsd-license.php
+or when applicable, in the associated License.txt file.
+
+Certain other content may be made available under other licenses as
+indicated in or with such Content. (For example, in a License.txt file.)
+
+You accept and agree to the following terms and conditions for Your
+present and future Contributions submitted to TianoCore site. Except
+for the license granted to Intel hereunder, You reserve all right,
+title, and interest in and to Your Contributions.
+
+== SECTION 1: Definitions ==
+* "You" or "Contributor" shall mean the copyright owner or legal
+ entity authorized by the copyright owner that is making a
+ Contribution hereunder. All other entities that control, are
+ controlled by, or are under common control with that entity are
+ considered to be a single Contributor. For the purposes of this
+ definition, "control" means (i) the power, direct or indirect, to
+ cause the direction or management of such entity, whether by
+ contract or otherwise, or (ii) ownership of fifty percent (50%)
+ or more of the outstanding shares, or (iii) beneficial ownership
+ of such entity.
+* "Contribution" shall mean any original work of authorship,
+ including any modifications or additions to an existing work,
+ that is intentionally submitted by You to the TinaoCore site for
+ inclusion in, or documentation of, any of the Content. For the
+ purposes of this definition, "submitted" means any form of
+ electronic, verbal, or written communication sent to the
+ TianoCore site or its representatives, including but not limited
+ to communication on electronic mailing lists, source code
+ control systems, and issue tracking systems that are managed by,
+ or on behalf of, the TianoCore site for the purpose of
+ discussing and improving the Content, but excluding
+ communication that is conspicuously marked or otherwise
+ designated in writing by You as "Not a Contribution."
+
+== SECTION 2: License for Contributions ==
+* Contributor hereby agrees that redistribution and use of the
+ Contribution in source and binary forms, with or without
+ modification, are permitted provided that the following
+ conditions are met:
+** Redistributions of source code must retain the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer.
+** Redistributions in binary form must reproduce the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+* Disclaimer. None of the names of Contributor, Intel, or the names
+ of their respective contributors may be used to endorse or
+ promote products derived from this software without specific
+ prior written permission.
+* Contributor grants a license (with the right to sublicense) under
+ claims of Contributor's patents that Contributor can license that
+ are infringed by the Contribution (as delivered by Contributor) to
+ make, use, distribute, sell, offer for sale, and import the
+ Contribution and derivative works thereof solely to the minimum
+ extent necessary for licensee to exercise the granted copyright
+ license; this patent license applies solely to those portions of
+ the Contribution that are unmodified. No hardware per se is
+ licensed.
+* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
+ CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
+ CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+== SECTION 3: Representations ==
+* You represent that You are legally entitled to grant the above
+ license. If your employer(s) has rights to intellectual property
+ that You create that includes Your Contributions, You represent
+ that You have received permission to make Contributions on behalf
+ of that employer, that Your employer has waived such rights for
+ Your Contributions.
+* You represent that each of Your Contributions is Your original
+ creation (see Section 4 for submissions on behalf of others).
+ You represent that Your Contribution submissions include complete
+ details of any third-party license or other restriction
+ (including, but not limited to, related patents and trademarks)
+ of which You are personally aware and which are associated with
+ any part of Your Contributions.
+
+== SECTION 4: Third Party Contributions ==
+* Should You wish to submit work that is not Your original creation,
+ You may submit it to TianoCore site separately from any
+ Contribution, identifying the complete details of its source
+ and of any license or other restriction (including, but not
+ limited to, related patents, trademarks, and license agreements)
+ of which You are personally aware, and conspicuously marking the
+ work as "Submitted on behalf of a third-party: [named here]".
+
+== SECTION 5: Miscellaneous ==
+* Applicable Laws. Any claims arising under or relating to this
+ Agreement shall be governed by the internal substantive laws of
+ the State of Delaware or federal courts located in Delaware,
+ without regard to principles of conflict of laws.
+* Language. This Agreement is in the English language only, which
+ language shall be controlling in all respects, and all versions
+ of this Agreement in any other language shall be for accommodation
+ only and shall not be binding. All communications and notices made
+ or given pursuant to this Agreement, and all documentation and
+ support to be provided, unless otherwise noted, shall be in the
+ English language.
+
diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/License.txt b/Silicon/Intel/CoffeelakeSiliconBinPkg/License.txt
new file mode 100644
index 0000000..5507dd0
--- /dev/null
+++ b/Silicon/Intel/CoffeelakeSiliconBinPkg/License.txt
@@ -0,0 +1,30 @@
+Copyright (c) 2012 - 2019, Intel Corporation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+Some files are subject to a license documented in the
+IntelProprietaryLicense.txt file. These files are in the same
+directory as IntelProprietaryLicense.txt, and they do not have
+a license specified within the file.
diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/IntelMicrocodeLicense.txt b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/IntelMicrocodeLicense.txt
new file mode 100644
index 0000000..1403347
--- /dev/null
+++ b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/IntelMicrocodeLicense.txt
@@ -0,0 +1,37 @@
+Copyright (c) 2018 - 2019 Intel Corporation.
+All rights reserved.
+
+Redistribution.
+
+Redistribution and use in binary form, without modification, are permitted,
+provided that the following conditions are met:
+
+1. Redistributions must reproduce the above copyright notice and the
+ following disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+2. Neither the name of Intel Corporation nor the names of its suppliers may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+3. No reverse engineering, decompilation, or disassembly of this software
+ is permitted.
+
+
+"Binary form" includes any format that is commonly used for electronic
+conveyance that is a reversible, bit-exact translation of binary
+representation to ASCII or ISO text, for example "uuencode".
+
+DISCLAIMER.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/m90806EC_000000AA.mcb b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/m90806EC_000000AA.mcb
new file mode 100644
index 0000000000000000000000000000000000000000..03e7de7eca77eaef79fbde3dc0ffc81534cb4d17
GIT binary patch
literal 98304
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

literal 0
HcmV?d00001

diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mC0806EA_0000009E.mcb b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mC0806EA_0000009E.mcb
new file mode 100644
index 0000000000000000000000000000000000000000..40cc128df868d98848290461b0c14208fc7f5dca
GIT binary patch
literal 98304
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

literal 0
HcmV?d00001

diff --git a/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mD0806EB_000000A4.mcb b/Silicon/Intel/CoffeelakeSiliconBinPkg/Microcode/mD0806EB_000000A4.mcb
new file mode 100644
index 0000000000000000000000000000000000000000..c959728b6437fe4a269b5071d5e2232a9528d646
GIT binary patch
literal 99328
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
SSnd&6okBKFc?+y<*+@+jEVf$!

literal 0
HcmV?d00001

--
2.16.2.windows.1