Laszlo,

Thanks.  I figured there had to be a PCD to set TSEG size. I set the following 
2 PCD values

  gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|256
  gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8

Now have QEMU booting with 255 VCPUs with SMM_REQUIRE enabled.  Takes about 20 
seconds for QEMU to initialize and start SEC.  About 40 seconds more to get to 
UEFI Shell.

I will debug the StartAllAPs() issues some more.  Hopefully just a simple issue 
in CpuDxe.

Mike


>-----Original Message-----
>From: edk2-devel [mailto:[email protected]] On Behalf Of
>Laszlo Ersek
>Sent: Thursday, October 15, 2015 11:34 AM
>To: Kinney, Michael D; [email protected]
>Cc: Paolo Bonzini; Justen, Jordan L
>Subject: Re: [edk2] [PATCH v3 00/52] OvmfPkg: support SMM for better
>security (steps towards MP and X64)
>
>On 10/15/15 05:30, Kinney, Michael D wrote:
>> Laszlo,
>>
>> I have 32 VCPUs booting to UEFI Shell using Windows build of 32-bit QEMU.
>
>Great!
>
>> If more than 32, then we run out of SMRAM.
>
>If you'd like to experiment with more, please locate the
>"gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes" PCD in the DSC file(s).
>The documentation for the PCD is in the DEC file. It is possible to
>configure 1, 2, or 8 MB of TSEG (SMRAM).
>
>The Ia32 DSC sets 1 MB currently, while the other two (Ia32X64, and X64)
>DSCs set 2 MB.
>
>>
>> I have made 2 changes from your branch to make this stable:
>> 1) Force 32KB SMBASE alignment.  Required for me because I am using pre-
>built QEMU binary.
>
>Makes sense.
>
>> 2) Your patch to sync MTRRs to all APs in CpuDxe CpuMp.c.  I changed
>> SingleThread parameter from TRUE to FALSE and it resolved all the MP
>> boot stability issues on my test config.
>
>Wow! That's very interesting.
>
>> This should work with
>> either TRUE or FALSE, so there is something else wrong here.
>
>I agree. I also thought that the invocation should work regardless of
>the SingleThread setting, but I figured SingleThread=TRUE would be more
>"conservative", hence safer / more portable. It is interesting to see
>the opposite being true in practice!
>
>I can flip the SingleThread arguments in the next version, but it would
>be nice to understand what's happening.
>
>Thanks
>Laszlo
>
>>
>>   //
>>   // Synchronize MTRR settings to APs.
>>   //
>>   MtrrGetAllMtrrs (&MtrrSettings);
>>   Status = mMpServicesTemplate.StartupAllAPs (
>>                                  &mMpServicesTemplate, // This
>>                                  SetMtrrsFromBuffer,   // Procedure
>>                                  FALSE,                // SingleThread
>>                                  NULL,                 // WaitEvent
>>                                  0,                    // 
>> TimeoutInMicrosecsond
>>                                  &MtrrSettings,        // ProcedureArgument
>>                                  NULL                  // FailedCpuList
>>                                  );
>>   ASSERT (Status == EFI_SUCCESS || Status == EFI_NOT_STARTED);
>>
>>
>> Mike
>>
>>> -----Original Message-----
>>> From: Laszlo Ersek [mailto:[email protected]]
>>> Sent: Wednesday, October 14, 2015 3:26 PM
>>> To: [email protected]
>>> Cc: Paolo Bonzini; Justen, Jordan L; Kinney, Michael D
>>> Subject: [PATCH v3 00/52] OvmfPkg: support SMM for better security (steps
>>> towards MP and X64)
>>>
>>> Public branch: <https://github.com/lersek/edk2/commits/smm3_v3>.
>>>
>>> (Mike's v1 patches are again contained in this branch, but I have
>>> converted them to CRLF.)
>>>
>>> ----*----
>>>
>>> Relative to v2, the following patches are new in v3 (also marked
>>> individually in the Notes sections):
>>>
>>> * PiSmmCpuDxeSmm fixes from Paolo, to be reviewed and squashed in by
>>>  Mike, included here for completeness:
>>>
>>>  02/52 UefiCpuPkg: PiSmmCpuDxeSmm: prepare PT in InitPaging before
>filling
>>> in PDE
>>>  03/52 UefiCpuPkg: PiSmmCpuDxeSmm: do not execute RSM from 64-bit
>>> mode
>>>
>>> * Build failure fix for -D SMM_REQUIRE -D SOURCE_DEBUG_ENABLE, from
>>>  Mike:
>>>
>>>  21/52 OvmfPkg: resolve DebugAgentLib for DXE_SMM_DRIVER modules
>>>
>>> * Features for MP and X64 support, from Paolo (kudos!!!):
>>>
>>>  23/52 OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg
>>>  24/52 OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits
>>>  25/52 OvmfPkg: SmmCpuFeaturesLib: implement SMRAM state save map
>>> access
>>>  26/52 OvmfPkg: SmmCpuFeaturesLib: customize state save map format
>>>  27/52 OvmfPkg: use relaxed AP SMM synchronization mode
>>>  37/52 OvmfPkg: port CpuS3DataDxe to X64
>>>
>>> * Patch that adapts the build to the former, from Laszlo:
>>>
>>>  38/52 OvmfPkg: build QuarkPort/CpuS3DataDxe for -D SMM_REQUIRE
>>>
>>> * SMRAM / TSEG size update for the (Ia32)X64 builds, from Laszlo:
>>>
>>>  51/52 OvmfPkg: double the SMRAM (TSEG) size for the 64-bit DXE phase
>>> builds
>>>
>>> ----*----
>>>
>>> The following patches have been changed (and/or reworded) from v2 (also
>>> marked individually in the Notes sections). Identifying them by their v3
>>> numbers here:
>>>
>>> * Picked up Reviewed-by tag from Jeff, dropped Cc's:
>>>
>>>  04/52 UefiCpuPkg: CpuDxe: broadcast MTRR changes to APs
>>>
>>> * Addressed v2 feedback from Mike & Jordan:
>>>
>>>  06/52 OvmfPkg: Sec: force reinit of BaseExtractGuidedSectionLib handler
>>> table
>>>  11/52 OvmfPkg: add PEIM for providing TSEG-as-SMRAM during PEI
>>>
>>> * Adapted to Paolo's patches:
>>>
>>>  28/52 OvmfPkg: build PiSmmCpuDxeSmm for -D SMM_REQUIRE
>>>  29/52 OvmfPkg: add skeleton QuarkPort/CpuS3DataDxe
>>>  30/52 OvmfPkg: QuarkPort/CpuS3DataDxe: fill in
>>> ACPI_CPU_DATA.StartupVector
>>>
>>> ----*----
>>>
>>> Test environment and results:
>>>
>>> Host kernel:
>>> - latest RHEL-7 development kernel (3.10.0-323.el7), with Paolo's
>>>  following patches backported by yours truly:
>>>  - KVM: x86: clean up kvm_arch_vcpu_runnable
>>>  - KVM: x86: fix SMI to halted VCPU
>>>
>>> QEMU:
>>> - current upstream (c49d3411faae), with Paolo's patch applied:
>>>  - target-i386: allow any alignment for SMBASE
>>>
>>> Below, the meaning of "bitness=32" is:
>>> * qemu-system-i386
>>> * -cpu coreduo,-nx
>>>
>>> Whereas "bitness=64" means:
>>> * qemu-system-x86_64
>>> * no special -cpu flag
>>>
>>> For variable access verification, "efibootmgr" is invoked (without
>>> options) at the guest OS (Fedlet 20141209) root prompt.
>>>
>>>  bitness  accel  VCPUs  result
>>>  -------  -----  -----  -----------------------------------------------
>>>  32       KVM    1      Fedlet 20141209 boots, S3 works, variables work
>>>
>>>  32       KVM    2      stuck in SMBASE relocation, APIC IDs look valid
>>>
>>>  32       TCG    1      Fedlet 20141209 boots, S3 works, variables work
>>>
>>>  32       TCG    2      Fedlet 20141209 boots, variables (efibootmgr)
>>>                         are broken -- nothing is printed
>>>
>>>  64       KVM    >=1    "KVM: entry failed, hardware error 0x80000021"
>>>                         while guest in SMBASE relocation
>>>
>>>  64       TCG    1      F21 XFCE LiveCD boots, variable access OK, S3
>>>                         resume triggers InternalX86EnablePaging64()
>>>                         ASSERT() in
>>>                         "MdePkg/Library/BaseLib/X64/Non-existing.c".
>>>                         Looks like a bug in S3Resume2Pei?
>>>
>>>  64       TCG    2      F21 XFCE LiveCD boots, variable access
>>>                         (efibootmgr) is broken -- reports EINVAL
>>>
>>> These results are not consistent with the ones seen by Paolo, which is
>>> why I didn't update the last (OvmfPkg/README) patch in the series, about
>>> the current level of functionality. (Added a note to it about this
>>> fact.)
>>>
>>> What makes me glad is that the scenario that I've been testing and
>>> re-testing successfully since May, i.e., 32-bit/KVM/UP, *does* work.
>>>
>>> Thanks
>>> Laszlo
>>>
>>> Cc: Paolo Bonzini <[email protected]>
>>> Cc: Jordan Justen <[email protected]>
>>> Cc: Michael Kinney <[email protected]>
>>>
>>> Laszlo Ersek (42):
>>>  UefiCpuPkg: CpuDxe: broadcast MTRR changes to APs
>>>  OvmfPkg: introduce -D SMM_REQUIRE and PcdSmmSmramRequire
>>>  OvmfPkg: Sec: force reinit of BaseExtractGuidedSectionLib handler
>>>    table
>>>  OvmfPkg: Sec: assert the build-time calculated end of the scratch
>>>    buffer
>>>  OvmfPkg: decompress FVs on S3 resume if SMM_REQUIRE is set
>>>  OvmfPkg: PlatformPei: allow caching in AddReservedMemoryBaseSizeHob()
>>>  OvmfPkg: PlatformPei: account for TSEG size with PcdSmmSmramRequire
>>>    set
>>>  OvmfPkg: add PEIM for providing TSEG-as-SMRAM during PEI
>>>  OvmfPkg: add DXE_DRIVER for providing TSEG-as-SMRAM during boot-time
>>>    DXE
>>>  OvmfPkg: implement EFI_SMM_CONTROL2_PROTOCOL with a
>>> DXE_RUNTIME_DRIVER
>>>  OvmfPkg: pull in the SMM IPL and SMM core
>>>  OvmfPkg: pull in CpuIo2Smm driver
>>>  OvmfPkg: AcpiS3SaveDxe: don't fake LockBox protocol if SMM_REQUIRE
>>>  OvmfPkg: LockBox: -D SMM_REQUIRE excludes our fake lockbox
>>>  OvmfPkg: LockBox: use SMM stack with -D SMM_REQUIRE
>>>  OvmfPkg: resolve ReportStatusCodeLib for DXE_SMM_DRIVER modules
>>>  OvmfPkg: resolve CpuExceptionHandlerLib for DXE_SMM_DRIVER modules
>>>  OvmfPkg: set gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection
>to
>>>    FALSE
>>>  OvmfPkg: build PiSmmCpuDxeSmm for -D SMM_REQUIRE
>>>  OvmfPkg: add skeleton QuarkPort/CpuS3DataDxe
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: fill in ACPI_CPU_DATA.StartupVector
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: handle IDT, GDT and MCE in
>>>    ACPI_CPU_DATA
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: handle StackAddress and StackSize
>>>  OvmfPkg: import CpuConfigLib header from
>>>    Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: fill in ACPI_CPU_DATA.NumberOfCpus
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: fill in ACPI_CPU_DATA.MtrrTable
>>>  OvmfPkg: QuarkPort/CpuS3DataDxe: handle register tables in
>>>    ACPI_CPU_DATA
>>>  OvmfPkg: build QuarkPort/CpuS3DataDxe for -D SMM_REQUIRE
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: strip trailing whitespace
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: rewrap source code to 79
>>>    chars
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: fix VALID_ARCHITECTURES in
>>>    INF
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: remove FvbDevLock field
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: remove FvbScratchSpace
>field
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: no dual addressing needed
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: split out runtime DXE
>>>    specifics
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: clean up includes and
>>>    libraries
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: add DXE_SMM_DRIVER build
>>>  OvmfPkg: QemuFlashFvbServicesRuntimeDxe: adhere to -D SMM_REQUIRE
>>>  OvmfPkg: consolidate variable driver stack in DSC and FDF files
>>>  OvmfPkg: pull in SMM-based variable driver stack
>>>  OvmfPkg: double the SMRAM (TSEG) size for the 64-bit DXE phase builds
>>>  OvmfPkg: README: document SMM status
>>>
>>> Michael Kinney (2):
>>>  UefiCpuPkg: CpuDxe: Fix ASSERT() when only 1 CPU detected
>>>  OvmfPkg: resolve DebugAgentLib for DXE_SMM_DRIVER modules
>>>
>>> Paolo Bonzini (8):
>>>  UefiCpuPkg: PiSmmCpuDxeSmm: prepare PT in InitPaging before filling in
>>>    PDE
>>>  UefiCpuPkg: PiSmmCpuDxeSmm: do not execute RSM from 64-bit mode
>>>  OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg
>>>  OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits
>>>  OvmfPkg: SmmCpuFeaturesLib: implement SMRAM state save map access
>>>  OvmfPkg: SmmCpuFeaturesLib: customize state save map format
>>>  OvmfPkg: use relaxed AP SMM synchronization mode
>>>  OvmfPkg: port CpuS3DataDxe to X64
>>>
>>> OvmfPkg/OvmfPkg.dec                                                         
>>>              |  29 +
>>> OvmfPkg/OvmfPkgIa32.dsc                                                     
>>>              | 119 ++-
>>> OvmfPkg/OvmfPkgIa32X64.dsc                                                  
>>>              | 119
>++-
>>> OvmfPkg/OvmfPkgX64.dsc                                                      
>>>              | 119 ++-
>>> OvmfPkg/OvmfPkgIa32.fdf                                                     
>>>              |  57 +-
>>> OvmfPkg/OvmfPkgIa32X64.fdf                                                  
>>>              |  57 +-
>>> OvmfPkg/OvmfPkgX64.fdf                                                      
>>>              |  57 +-
>>> OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf                                     
>>>              |
>3
>>> +-
>>> OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf                               
>>>              |
>>> 3 +
>>> OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf                                
>>>              |
>>> 3 +
>>> OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
>>> |  38 +
>>> OvmfPkg/PlatformPei/PlatformPei.inf                                         
>>>              |   5 +
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
>>> |  44 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/{FvbServicesRuntimeDxe.inf
>=>
>>> FvbServicesSmm.inf} |  53 +-
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/CpuS3DataDxe.inf
>>> | 107 +++
>>> OvmfPkg/Sec/SecMain.inf                                                     
>>>              |   6 +
>>> OvmfPkg/SmmAccess/SmmAccess2Dxe.inf                                         
>>>              |
>>> 57 ++
>>> OvmfPkg/SmmAccess/SmmAccessPei.inf                                          
>>>              |
>70
>>> ++
>>> OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
>>> |  65 ++
>>> OvmfPkg/Include/Register/QemuSmramSaveStateMap.h
>>> | 184 +++++
>>> OvmfPkg/PlatformPei/Platform.h                                              
>>>              |   3 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.h
>>> |  74 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.h
>>> |   9 +-
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/Cpu.h                                        
>>>              |
>>> 97 +++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/ArchSpecificDef.h
>>> |  57 ++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/MpApic.h
>|
>>> 69 ++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/MpCommon.h
>>> | 187 +++++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/MpService.h
>|
>>> 49 ++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/X64/ArchSpecificDef.h
>>> |  59 ++
>>> OvmfPkg/QuarkPort/Include/Library/CpuConfigLib.h
>|
>>> 671 +++++++++++++++++
>>> OvmfPkg/SmmAccess/SmramInternal.h                                           
>>>              |
>89
>>> +++
>>> UefiCpuPkg/CpuDxe/CpuMp.h                                                   
>>>              |  13 +
>>> OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c                                          
>>>              |
>14
>>> +-
>>> OvmfPkg/Library/LockBoxLib/LockBoxLib.c                                     
>>>              |
>2 +
>>> OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
>>> | 790 ++++++++++++++++++++
>>> OvmfPkg/PlatformPei/Fv.c                                                    
>>>              |  27 +-
>>> OvmfPkg/PlatformPei/MemDetect.c                                             
>>>              |  85
>>> ++-
>>> OvmfPkg/PlatformPei/Platform.c                                              
>>>              |   9 +-
>>> OvmfPkg/PlatformPei/Xen.c                                                   
>>>              |   2 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbInfo.c
>>> |  56 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.c
>>> | 653 +++++++---------
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceDxe.c
>>> | 157 ++++
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceSmm.c
>>> |  69 ++
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c
>>> |  27 +-
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlashDxe.c
>>> |  28 +
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/ArchSpecific.c
>>> | 105 +++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/MpApic.c
>|
>>> 93 +++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/MpCommon.c
>>> | 298 ++++++++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/ProcessorConfig.c
>>> | 335 +++++++++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/X64/ArchSpecific.c
>>> | 108 +++
>>> OvmfPkg/Sec/SecMain.c                                                       
>>>              |  52 +-
>>> OvmfPkg/SmmAccess/SmmAccess2Dxe.c                                           
>>>              |
>>> 156 ++++
>>> OvmfPkg/SmmAccess/SmmAccessPei.c                                            
>>>              |
>446
>>> +++++++++++
>>> OvmfPkg/SmmAccess/SmramInternal.c                                           
>>>              |
>188
>>> +++++
>>> OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.c
>|
>>> 365 +++++++++
>>> UefiCpuPkg/CpuDxe/CpuDxe.c                                                  
>>>              |  26 +
>>> UefiCpuPkg/CpuDxe/CpuMp.c                                                   
>>>              |  36 +-
>>> UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c
>|
>>> 8 +-
>>> OvmfPkg/DecomprScratchEnd.fdf.inc                                           
>>>              |  72
>++
>>> OvmfPkg/OvmfPkg.fdf.inc                                                     
>>>              |   2 +
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/CpuAsm.S
>>> |  56 ++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/CpuAsm.asm
>>> |  69 ++
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/X64/CpuAsm.nasm
>>> |  58 ++
>>> OvmfPkg/README                                                              
>>>              |  43 ++
>>> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S
>>> |  13 +
>>> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm
>>> |  13 +
>>> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S
>>> |  13 +
>>> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm
>>> |  13 +
>>> 68 files changed, 6468 insertions(+), 591 deletions(-)
>>> create mode 100644
>>> OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
>>> copy
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/{FvbServicesRuntimeDxe.inf
>=>
>>> FvbServicesSmm.inf} (59%)
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/CpuS3DataDxe.inf
>>> create mode 100644 OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
>>> create mode 100644 OvmfPkg/SmmAccess/SmmAccessPei.inf
>>> create mode 100644 OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
>>> create mode 100644
>OvmfPkg/Include/Register/QemuSmramSaveStateMap.h
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/Cpu.h
>>> create mode 100644
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/ArchSpecificDef.h
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/MpApic.h
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/MpCommon.h
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/MpService.h
>>> create mode 100644
>>> OvmfPkg/QuarkPort/CpuS3DataDxe/X64/ArchSpecificDef.h
>>> create mode 100644 OvmfPkg/QuarkPort/Include/Library/CpuConfigLib.h
>>> create mode 100644 OvmfPkg/SmmAccess/SmramInternal.h
>>> create mode 100644
>>> OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c
>>> create mode 100644
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceDxe.c
>>> create mode 100644
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceSmm.c
>>> create mode 100644
>>> OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlashDxe.c
>>> create mode 100644
>OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/ArchSpecific.c
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/MpApic.c
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/MpCommon.c
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/ProcessorConfig.c
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/X64/ArchSpecific.c
>>> create mode 100644 OvmfPkg/SmmAccess/SmmAccess2Dxe.c
>>> create mode 100644 OvmfPkg/SmmAccess/SmmAccessPei.c
>>> create mode 100644 OvmfPkg/SmmAccess/SmramInternal.c
>>> create mode 100644 OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.c
>>> create mode 100644 OvmfPkg/DecomprScratchEnd.fdf.inc
>>> create mode 100644 OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/CpuAsm.S
>>> create mode 100644
>OvmfPkg/QuarkPort/CpuS3DataDxe/IA32/CpuAsm.asm
>>> create mode 100644
>OvmfPkg/QuarkPort/CpuS3DataDxe/X64/CpuAsm.nasm
>>>
>>> --
>>> 1.8.3.1
>>
>
>_______________________________________________
>edk2-devel mailing list
>[email protected]
>https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to