Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QemuQ35Pkg.dsc: Apply XenHypercallLib to valid archs #1041

Merged
merged 1 commit into from
Sep 24, 2024

Conversation

makubacki
Copy link
Member

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.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

  • QemuQ35Pkg before and after the change

Integration Instructions

  • N/A

@makubacki makubacki self-assigned this Sep 23, 2024
@github-actions github-actions bot added the impact:non-functional Does not have a functional impact label Sep 23, 2024
@makubacki makubacki enabled auto-merge (squash) September 24, 2024 01:39
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.

Signed-off-by: Michael Kubacki <[email protected]>
@makubacki makubacki force-pushed the q35_xenhypercall_lib_dsc_change branch from 76f3601 to c3d2f07 Compare September 24, 2024 02:18
@makubacki makubacki merged commit 46ef2d2 into microsoft:main Sep 24, 2024
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:non-functional Does not have a functional impact
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants