[edk2-devel] [PATCH v1 0/9] Duplicate required CSM components for OVMF

2019-05-15 Thread Wu, Hao A
This series is also available at:
https://github.com/hwu25/edk2/tree/ovmf_csm_v1

The series will duplicate the CSM components used by the OVMF package from
IntelFrameworkModulePkg & IntelFrameworkPkg.

Verification done for the series:
* Build pass with/without build command option '-D CSM_ENABLE';
* Boot shell pass with the built images.

Also, the series does not cover the update of file 'Maintainers.txt' to
cover the maintainance duty for the copied CSM components. Maybe this can
be addressed via another patch.

Cc: Ray Ni 
Cc: David Woodhouse 
Cc: Jordan Justen 
Cc: Laszlo Ersek 
Cc: Ard Biesheuvel 

Hao A Wu (9):
  OvmfPkg: Copy the required CSM components from framework packages
  OvmfPkg/OvmfPkg.dec: Add definitions for CSM-related Guid & Protocol
  OvmfPkg/OvmfPkg.dec: Add the new include folder for CSM header files
  OvmfPkg/OvmfPkg.dec: Add PCD definitions used by copied CSM modules
  OvmfPkg/Csm/VideoDxe: Update to make it build for OVMF
  OvmfPkg/Csm/LegacyBiosDxe: Update to make it build for OVMF
  OvmfPkg/Csm/LegacyBootMaintUiLib: Update to make it build for OVMF
  OvmfPkg/Csm/LegacyBootManagerLib: Update to make it build for OVMF
  OvmfPkg: Update DSC/FDF files to consume CSM components in OvmfPkg

 OvmfPkg/OvmfPkg.dec |   68 +
 OvmfPkg/OvmfPkgIa32.dsc |   10 +-
 OvmfPkg/OvmfPkgIa32X64.dsc  |   10 +-
 OvmfPkg/OvmfPkgX64.dsc  |   10 +-
 OvmfPkg/OvmfPkgIa32.fdf |4 +-
 OvmfPkg/OvmfPkgIa32X64.fdf  |4 +-
 OvmfPkg/OvmfPkgX64.fdf  |4 +-
 OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf |   78 +
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf |  129 +
 OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf   |   62 +
 OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf   |   57 +
 OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.h  |  532 
 OvmfPkg/Csm/BiosThunk/VideoDxe/VesaBiosExtensions.h |  459 +++
 OvmfPkg/Csm/Include/Framework/BootScript.h  |   41 +
 OvmfPkg/Csm/Include/Framework/DxeCis.h  |  170 +
 OvmfPkg/Csm/Include/Framework/FirmwareVolumeHeader.h|   79 +
 OvmfPkg/Csm/Include/Framework/FirmwareVolumeImageFormat.h   |   32 +
 OvmfPkg/Csm/Include/Framework/FrameworkInternalFormRepresentation.h |  397 +++
 OvmfPkg/Csm/Include/Framework/Hob.h |   28 +
 OvmfPkg/Csm/Include/Framework/StatusCode.h  |  155 +
 OvmfPkg/Csm/Include/FrameworkDxe.h  |   26 +
 OvmfPkg/Csm/Include/Guid/LegacyBios.h   |   29 +
 OvmfPkg/Csm/Include/Guid/LegacyDevOrder.h   |   39 +
 OvmfPkg/Csm/Include/Protocol/FirmwareVolume.h   |  340 ++
 OvmfPkg/Csm/Include/Protocol/IsaAcpi.h  |  298 ++
 OvmfPkg/Csm/Include/Protocol/IsaIo.h|  356 +++
 OvmfPkg/Csm/Include/Protocol/LegacyBios.h   | 1553 
+
 OvmfPkg/Csm/Include/Protocol/LegacyBiosPlatform.h   |  755 
+
 OvmfPkg/Csm/Include/Protocol/LegacyInterrupt.h  |  122 +
 OvmfPkg/Csm/Include/Protocol/VgaMiniPort.h  |   88 +
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h | 1460 
+
 OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.h|  249 ++
 OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiVfr.h |   79 +
 OvmfPkg/Csm/LegacyBootManagerLib/InternalLegacyBm.h |   60 +
 OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c  | 3289 

 OvmfPkg/Csm/BiosThunk/VideoDxe/ComponentName.c  |  306 ++
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c   |  377 +++
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBda.c   |   62 +
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c  | 1214 

 OvmfPkg/Csm/LegacyBiosDxe/LegacyBootSupport.c   | 2173 
+
 OvmfPkg/Csm/LegacyBiosDxe/LegacyCmos.c  |  117 +
 OvmfPkg/Csm/LegacyBiosDxe/LegacyIde.c   |  310 ++
 OvmfPkg/Csm/LegacyBiosDxe/LegacyPci.c   | 3083 
++
 OvmfPkg/Csm/LegacyBiosDxe/LegacySio.c   |  477 +++
 OvmfPkg/Csm/LegacyBiosDxe/Thunk.c   |  419 +++
 OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.c| 1505 
+
 OvmfPkg/Csm/LegacyBootManagerLib/LegacyBm.c

Re: [edk2-devel] [PATCH v1 0/9] Duplicate required CSM components for OVMF

2019-05-15 Thread Laszlo Ersek
Hello Hao,

thanks for this series. I have one high-level comment at this point:

On 05/15/19 10:27, Hao A Wu wrote:
> This series is also available at:
> https://github.com/hwu25/edk2/tree/ovmf_csm_v1
> 
> The series will duplicate the CSM components used by the OVMF package from
> IntelFrameworkModulePkg & IntelFrameworkPkg.
> 
> Verification done for the series:
> * Build pass with/without build command option '-D CSM_ENABLE';
> * Boot shell pass with the built images.
> 
> Also, the series does not cover the update of file 'Maintainers.txt' to
> cover the maintainance duty for the copied CSM components. Maybe this can
> be addressed via another patch.

Actually, I insist on the inverse approach here, please. I will not
accept CSM components under OvmfPkg unless the first patch of the series
introduces a new "R" role in Maintainers.txt, such as:

  OvmfPkg
  ...
  R: Name 
 (CSM components)

I will commence reviewing the series if the series starts with such a
patch, *and* the proposed long-term CSM reviewer ACKs it.

(As we discussed earlier, the alternative is to remove CSM from OVMF.)

My understanding is that David offered to step up for this reviewer role.


AIUI, TianoCore#1811 -- this series -- blocks TianoCore#1604 and
TianoCore#1605 -- IntelFramework[Module]Pkg removals --, and those are
planned for edk2-stable201908.

I suggest that we come to an agreement on the CSM reviewership first,
and then return to this series after the edk2-stable201905 release has
been tagged. Right now is a very busy time.

(The DSC files are undergoing a bit of reorganization anyway, at the
moment, due to ,
which is planned for edk2-stable201905.)

Thanks,
Laszlo

> 
> Cc: Ray Ni 
> Cc: David Woodhouse 
> Cc: Jordan Justen 
> Cc: Laszlo Ersek 
> Cc: Ard Biesheuvel 
> 
> Hao A Wu (9):
>   OvmfPkg: Copy the required CSM components from framework packages
>   OvmfPkg/OvmfPkg.dec: Add definitions for CSM-related Guid & Protocol
>   OvmfPkg/OvmfPkg.dec: Add the new include folder for CSM header files
>   OvmfPkg/OvmfPkg.dec: Add PCD definitions used by copied CSM modules
>   OvmfPkg/Csm/VideoDxe: Update to make it build for OVMF
>   OvmfPkg/Csm/LegacyBiosDxe: Update to make it build for OVMF
>   OvmfPkg/Csm/LegacyBootMaintUiLib: Update to make it build for OVMF
>   OvmfPkg/Csm/LegacyBootManagerLib: Update to make it build for OVMF
>   OvmfPkg: Update DSC/FDF files to consume CSM components in OvmfPkg
> 
>  OvmfPkg/OvmfPkg.dec |   68 +
>  OvmfPkg/OvmfPkgIa32.dsc |   10 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc  |   10 +-
>  OvmfPkg/OvmfPkgX64.dsc  |   10 +-
>  OvmfPkg/OvmfPkgIa32.fdf |4 +-
>  OvmfPkg/OvmfPkgIa32X64.fdf  |4 +-
>  OvmfPkg/OvmfPkgX64.fdf  |4 +-
>  OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf |   78 +
>  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf |  129 +
>  OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf   |   62 +
>  OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf   |   57 +
>  OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.h  |  532 
> 
>  OvmfPkg/Csm/BiosThunk/VideoDxe/VesaBiosExtensions.h |  459 
> +++
>  OvmfPkg/Csm/Include/Framework/BootScript.h  |   41 +
>  OvmfPkg/Csm/Include/Framework/DxeCis.h  |  170 +
>  OvmfPkg/Csm/Include/Framework/FirmwareVolumeHeader.h|   79 +
>  OvmfPkg/Csm/Include/Framework/FirmwareVolumeImageFormat.h   |   32 +
>  OvmfPkg/Csm/Include/Framework/FrameworkInternalFormRepresentation.h |  397 
> +++
>  OvmfPkg/Csm/Include/Framework/Hob.h |   28 +
>  OvmfPkg/Csm/Include/Framework/StatusCode.h  |  155 +
>  OvmfPkg/Csm/Include/FrameworkDxe.h  |   26 +
>  OvmfPkg/Csm/Include/Guid/LegacyBios.h   |   29 +
>  OvmfPkg/Csm/Include/Guid/LegacyDevOrder.h   |   39 +
>  OvmfPkg/Csm/Include/Protocol/FirmwareVolume.h   |  340 ++
>  OvmfPkg/Csm/Include/Protocol/IsaAcpi.h  |  298 ++
>  OvmfPkg/Csm/Include/Protocol/IsaIo.h|  356 
> +++
>  OvmfPkg/Csm/Include/Protocol/LegacyBios.h   | 1553 
> +
>  OvmfPkg/Csm/Include/Protocol/LegacyBiosPlatform.h   |  755 
> +
>  OvmfPkg/Csm/Include/Protocol/LegacyInterrupt.h  |  122 +
>  OvmfPkg/Csm/Include/Protocol/VgaMiniPort.h  |   88 +
>  OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h