From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.groups.io with SMTP id smtpd.web09.14544.1583157995513220502 for ; Mon, 02 Mar 2020 06:06:36 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=ZnBFMMfS; spf=pass (domain: linaro.org, ip: 209.85.128.65, mailfrom: ard.biesheuvel@linaro.org) Received: by mail-wm1-f65.google.com with SMTP id a5so11354985wmb.0 for ; Mon, 02 Mar 2020 06:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=pyrJHwJ50UEQsd1yiugv5fgfUN8xQ+jS3TfdEt7KrUY=; b=ZnBFMMfSXqna+OjdEl79Hz4Y9DOUSjeHJD+qYckAICuTqQUBDun8sZ7l1vcBFFiUi8 Vc8p5w+mjICLYrHOIzIkTu0PNSBsHgXtGScDoZLscdSHDosmbnNSUvpKdk2XPas+CKFC KocUgEDM6KRmsEIPWm+iXTnkzCManMoZOnMEzWeNldRAumL3VbZjNeNm0D9/c7QrvNfF nkjMD1pM2a+IvIPad1C9JHp0XFsJUQ8FE1ZLxHNsjd/o3dj8s3S+Wi4b515akcGI5eoB 9bhgvj/rs/ZKzK1P1rrTCfCI8G9NG6/Yhnuqhqk5G27mTHS7Sr9dailKGEROYSx4qNCt yKfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=pyrJHwJ50UEQsd1yiugv5fgfUN8xQ+jS3TfdEt7KrUY=; b=qirxE/yKyIvpeX643Mo7uPCRUSLzf9MM382IF1D2Twj+K/ne56oAhqL3/x0JmkvvZ0 R8QKPk2jLFO08UCQYV5FQxfESapLgkNyKNuPtdwWE2QBHQuLeaFmvhFQfJh3HkyCZ9xg IAjTii/RT/ijgpEUxirXFmEYb2dhtwrnBmGkTMppn7tGximqdCEkBzMvPE6UeQvfXy1g SWMT+pmO/C0QOQcn5kzlefSRvY1KOejIBtH6+oYwINtuR1Wd/M8dw46Zb+lEVGwSxqL/ ZBAh/U8LIVfeAVr6owpnpNeRO0gv8IQzEDtYRT1wUFDgdT/Ixv05yD06CU91mwckvOK2 mbeQ== X-Gm-Message-State: APjAAAX7sAm0og28mHdZmIaNHStlzfulAC2SYp8bouxl0aJuZ1LG3P5N 7p1L/ydZOmpNuyP6VXDmUgTFc2TFFM79Rw8oi1mDIw== X-Google-Smtp-Source: APXvYqxWpXOeX5qZsK2pQVr+troGQ1XgNSNM7/OG5Advqzj1vm5uywSoffMZWPf+AOcEQLqhpObOzU1XdevZ7Lw1vto= X-Received: by 2002:a1c:bc46:: with SMTP id m67mr19331774wmf.40.1583157993771; Mon, 02 Mar 2020 06:06:33 -0800 (PST) MIME-Version: 1.0 References: <20200226221156.29589-1-lersek@redhat.com> <20200226221156.29589-15-lersek@redhat.com> In-Reply-To: <20200226221156.29589-15-lersek@redhat.com> From: "Ard Biesheuvel" Date: Mon, 2 Mar 2020 15:06:22 +0100 Message-ID: Subject: Re: [PATCH v2 14/16] OvmfPkg: clone CpuS3DataDxe from UefiCpuPkg To: Laszlo Ersek Cc: edk2-devel-groups-io , Igor Mammedov , Jiewen Yao , Jordan Justen , Michael Kinney , =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 26 Feb 2020 at 23:12, Laszlo Ersek wrote: > > The @file comments in UefiCpuPkg/CpuS3DataDxe say, > > [...] It also only supports the number of CPUs reported by the MP > Services Protocol, so this module does not support hot plug CPUs. This > module can be copied into a CPU specific package and customized if thes= e > additional features are required. [...] > > The driver is so small that the simplest way to extend it with hotplug > support is indeed to clone it at first. In this patch, customize the > driver only with the following no-op steps: > > - Update copyright notices. > - Update INF_VERSION to the latest INF spec version (1.29). > - Update FILE_GUID. > - Drop the UNI files. > - Replace EFI_D_VERBOSE with DEBUG_VERBOSE, to appease "PatchCheck.py". > > This patch is best reviewed with: > > $ git show --find-copies-harder > > Cc: Ard Biesheuvel > Cc: Igor Mammedov > Cc: Jiewen Yao > Cc: Jordan Justen > Cc: Michael Kinney > Cc: Philippe Mathieu-Daud=C3=A9 > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1512 > Signed-off-by: Laszlo Ersek > Acked-by: Ard Biesheuvel Reviewed-by: Ard Biesheuvel > --- > > Notes: > v2: > > - Pick up Ard's Acked-by, which is conditional on approval from Intel > reviewers on Cc. (I'd like to save Ard the churn of re-acking > unmodified patches.) > > OvmfPkg/OvmfPkgIa32.dsc | 2 +- > OvmfPkg/OvmfPkgIa32X64.dsc | 2 +- > OvmfPkg/OvmfPkgX64.dsc | 2 +- > OvmfPkg/OvmfPkgIa32.fdf | 2 +- > OvmfPkg/OvmfPkgIa32X64.fdf | 2 +- > OvmfPkg/OvmfPkgX64.fdf | 2 +- > {UefiCpuPkg =3D> OvmfPkg}/CpuS3DataDxe/CpuS3DataDxe.inf | 10 +++------- > {UefiCpuPkg =3D> OvmfPkg}/CpuS3DataDxe/CpuS3Data.c | 4 ++-- > 8 files changed, 11 insertions(+), 15 deletions(-) > > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 78310da44a5f..8d8ca746ba03 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -836,45 +836,45 @@ [Components] > !endif > HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleP= arsingLib.inf > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf > BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellB= cfgCommandLib.inf > > > gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 > } > > !if $(SECURE_BOOT_ENABLE) =3D=3D TRUE > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfig= Dxe.inf > OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf > !endif > > OvmfPkg/PlatformDxe/Platform.inf > OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > - UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > + OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > > # > # SMM Initial Program Load (a DXE_RUNTIME_DRIVER) > # > MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > > # > # SMM_CORE > # > MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > > # > # Privileged drivers (DXE_SMM_DRIVER modules) > # > OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf { > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf > } > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf { > > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index 428578a4f839..acba1f80a431 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -850,45 +850,45 @@ [Components.X64] > HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleP= arsingLib.inf > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf > BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellB= cfgCommandLib.inf > > > gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 > } > > !if $(SECURE_BOOT_ENABLE) =3D=3D TRUE > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfig= Dxe.inf > OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf > !endif > > OvmfPkg/PlatformDxe/Platform.inf > OvmfPkg/AmdSevDxe/AmdSevDxe.inf > OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > - UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > + OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > > # > # SMM Initial Program Load (a DXE_RUNTIME_DRIVER) > # > MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > > # > # SMM_CORE > # > MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > > # > # Privileged drivers (DXE_SMM_DRIVER modules) > # > OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf { > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf > } > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf { > > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index 73b92f259201..621b27f80d4b 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -848,45 +848,45 @@ [Components] > HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleP= arsingLib.inf > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf > BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellB= cfgCommandLib.inf > > > gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF > gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 > } > > !if $(SECURE_BOOT_ENABLE) =3D=3D TRUE > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfig= Dxe.inf > OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf > !endif > > OvmfPkg/PlatformDxe/Platform.inf > OvmfPkg/AmdSevDxe/AmdSevDxe.inf > OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > - UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > + OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > > # > # SMM Initial Program Load (a DXE_RUNTIME_DRIVER) > # > MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > > # > # SMM_CORE > # > MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > > # > # Privileged drivers (DXE_SMM_DRIVER modules) > # > OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf { > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf > } > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf { > > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index 61b891765c56..004aa318b222 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -298,45 +298,45 @@ [FV.DXEFV] > INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf > INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf > INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > > !ifdef $(CSM_ENABLE) > INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf > INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf > INF RuleOverride=3DCSM OvmfPkg/Csm/Csm16/Csm16.inf > !else > INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf > !endif > > INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf > INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf > INF OvmfPkg/PlatformDxe/Platform.inf > INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > -INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > +INF OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > INF OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf > INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf > > # > # Variable driver stack (SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf > INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.= inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.in= f > > !else > > # > # Variable driver stack (non-SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf > INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index 501b4fcb7b67..13da8b9dbe65 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.fdf > +++ b/OvmfPkg/OvmfPkgIa32X64.fdf > @@ -305,45 +305,45 @@ [FV.DXEFV] > INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf > INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > > !ifdef $(CSM_ENABLE) > INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf > INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf > INF RuleOverride=3DCSM OvmfPkg/Csm/Csm16/Csm16.inf > !else > INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf > !endif > > INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf > INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf > INF OvmfPkg/PlatformDxe/Platform.inf > INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf > INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > -INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > +INF OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > INF OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf > INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf > > # > # Variable driver stack (SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf > INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.= inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.in= f > > !else > > # > # Variable driver stack (non-SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf > INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index 501b4fcb7b67..13da8b9dbe65 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -305,45 +305,45 @@ [FV.DXEFV] > INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf > INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > > !ifdef $(CSM_ENABLE) > INF OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf > INF OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf > INF RuleOverride=3DCSM OvmfPkg/Csm/Csm16/Csm16.inf > !else > INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf > !endif > > INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf > INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf > INF OvmfPkg/PlatformDxe/Platform.inf > INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf > INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf > > !if $(SMM_REQUIRE) =3D=3D TRUE > INF OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > INF OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > -INF UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > +INF OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > INF OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf > INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf > INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf > > # > # Variable driver stack (SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf > INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.= inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf > INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.in= f > > !else > > # > # Variable driver stack (non-SMM) > # > INF OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf > INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf > diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf b/OvmfPkg/CpuS3Data= Dxe/CpuS3DataDxe.inf > similarity index 83% > copy from UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > copy to OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > index 510133a614ba..0ad8a0b35d25 100644 > --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > +++ b/OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf > @@ -1,65 +1,61 @@ > ## @file > # ACPI CPU Data initialization module > # > # This module initializes the ACPI_CPU_DATA structure and registers the= address > # of this structure in the PcdCpuS3DataAddress PCD. This is a generic/= simple > # version of this module. It does not provide a machine check handler = or CPU > # register initialization tables for ACPI S3 resume. It also only supp= orts the > # number of CPUs reported by the MP Services Protocol, so this module d= oes not > # support hot plug CPUs. This module can be copied into a CPU specific= package > # and customized if these additional features are required. > # > # Copyright (c) 2013-2016, Intel Corporation. All rights reserved.
> -# Copyright (c) 2015, Red Hat, Inc. > +# Copyright (c) 2015-2020, Red Hat, Inc. > # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > ## > > [Defines] > - INF_VERSION =3D 0x00010005 > + INF_VERSION =3D 1.29 > BASE_NAME =3D CpuS3DataDxe > - MODULE_UNI_FILE =3D CpuS3DataDxe.uni > - FILE_GUID =3D 4D2E57EE-0E3F-44DD-93C4-D3B57E96945= D > + FILE_GUID =3D 229B7EFD-DA02-46B9-93F4-E20C009F94E= 9 > MODULE_TYPE =3D DXE_DRIVER > VERSION_STRING =3D 1.0 > ENTRY_POINT =3D CpuS3DataInitialize > > # The following information is for reference only and not required by th= e build > # tools. > # > # VALID_ARCHITECTURES =3D IA32 X64 > > [Sources] > CpuS3Data.c > > [Packages] > MdePkg/MdePkg.dec > MdeModulePkg/MdeModulePkg.dec > UefiCpuPkg/UefiCpuPkg.dec > > [LibraryClasses] > UefiDriverEntryPoint > UefiBootServicesTableLib > BaseMemoryLib > DebugLib > BaseLib > MtrrLib > MemoryAllocationLib > > [Guids] > gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event > > [Protocols] > gEfiMpServiceProtocolGuid ## CONSUMES > > [Pcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize ## CONSUMES > gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## PRODUCES > gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES > > [Depex] > gEfiMpServiceProtocolGuid > - > -[UserExtensions.TianoCore."ExtraFiles"] > - CpuS3DataDxeExtra.uni > diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c b/OvmfPkg/CpuS3DataDxe/C= puS3Data.c > similarity index 96% > copy from UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > copy to OvmfPkg/CpuS3DataDxe/CpuS3Data.c > index 2be335d91903..2bb60d591b1e 100644 > --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > +++ b/OvmfPkg/CpuS3DataDxe/CpuS3Data.c > @@ -1,35 +1,35 @@ > /** @file > ACPI CPU Data initialization module > > This module initializes the ACPI_CPU_DATA structure and registers the ad= dress > of this structure in the PcdCpuS3DataAddress PCD. This is a generic/sim= ple > version of this module. It does not provide a machine check handler or = CPU > register initialization tables for ACPI S3 resume. It also only support= s the > number of CPUs reported by the MP Services Protocol, so this module does= not > support hot plug CPUs. This module can be copied into a CPU specific pa= ckage > and customized if these additional features are required. > > Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.
> -Copyright (c) 2015, Red Hat, Inc. > +Copyright (c) 2015 - 2020, Red Hat, Inc. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #include > > #include > > #include > #include > #include > #include > #include > #include > > #include > #include > > // > // Data structure used to allocate ACPI_CPU_DATA and its supporting stru= ctures > // > @@ -107,45 +107,45 @@ VOID > EFIAPI > CpuS3DataOnEndOfDxe ( > IN EFI_EVENT Event, > OUT VOID *Context > ) > { > EFI_STATUS Status; > ACPI_CPU_DATA_EX *AcpiCpuDataEx; > > AcpiCpuDataEx =3D (ACPI_CPU_DATA_EX *) Context; > // > // Allocate a 4KB reserved page below 1MB > // > AcpiCpuDataEx->AcpiCpuData.StartupVector =3D BASE_1MB - 1; > Status =3D gBS->AllocatePages ( > AllocateMaxAddress, > EfiReservedMemoryType, > 1, > &AcpiCpuDataEx->AcpiCpuData.StartupVector > ); > ASSERT_EFI_ERROR (Status); > > - DEBUG ((EFI_D_VERBOSE, "%a\n", __FUNCTION__)); > + DEBUG ((DEBUG_VERBOSE, "%a\n", __FUNCTION__)); > MtrrGetAllMtrrs (&AcpiCpuDataEx->MtrrTable); > > // > // Close event, so it will not be invoked again. > // > gBS->CloseEvent (Event); > } > > /** > The entry function of the CpuS3Data driver. > > Allocate and initialize all fields of the ACPI_CPU_DATA structure exc= ept the > MTRR settings. Register an event notification on gEfiEndOfDxeEventGr= oupGuid > to capture the ACPI_CPU_DATA MTRR settings. The PcdCpuS3DataAddress = is set > to the address that ACPI_CPU_DATA is allocated at. > > @param[in] ImageHandle The firmware allocated handle for the EFI ima= ge. > @param[in] SystemTable A pointer to the EFI System Table. > > @retval EFI_SUCCESS The entry point is executed successfully. > @retval EFI_UNSUPPORTED Do not support ACPI S3. > @retval other Some error occurs when executing this entry p= oint. > -- > 2.19.1.3.g30247aa5d201 > >