microsoft / mu_tiano_platforms

Project Mu Virtual Platform Firmware
https://microsoft.github.io/mu/
Other
54 stars 49 forks source link

QemuQ35Pkg.dsc: Apply XenHypercallLib to valid archs #1041

Closed makubacki closed 2 weeks ago

makubacki commented 2 weeks ago

Description

The XenHypercallLib instance in QemuQ35Pkg has the following LIBRARY_CLASS value in its [DEFINES] section:

  [Defines.IA32, Defines.X64]
    LIBRARY_CLASS                  = XenHypercallLib|...

  [Defines.ARM, Defines.AARCH64]
    LIBRARY_CLASS                  = XenHypercallLib

However, the library instance is specified in QemuQ35Pkg.dsc against the "Common" architecture as it is placed in the [LibraryClasses] section.

This raises the following warning during build:

  INFO - QemuQ35Pkg.dsc(...): warning:
    Platforms\QemuQ35Pkg\Library\XenHypercallLib\XenHypercallLib.inf
    does not support LIBRARY_CLASS XenHypercallLib

This is printed from the _ValidateLibraryClass() function in BaseTools/Source/Python/Workspace/DscBuildData.py because the library class is bound by architecture in the INF file so it does not support the "Common" architecture.

This change maps the library instance to the XenHypercallLib class per the defined architectures (IA32 and X64) in QemuQ35Pkg.dsc.

How This Was Tested

Integration Instructions