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

MpDxe: Produce MpServices protocol as a standalone Mp dxe driver #1253

Open
wants to merge 4 commits into
base: dev/202405
Choose a base branch
from

Conversation

vineelko
Copy link

@vineelko vineelko commented Jan 10, 2025

Description

This PR creates a fork of MP services functionality into a standalone Dxe driver. It is necessary to bring up platforms which do not rely on UEFI C based CpuDxe code. Existing Cpu Dxe and its MP services code remains the same.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?
  • Backport to release branch?

How This Was Tested

Q35 Qemu boots.

Integration Instructions

No changes needed.

@vineelko vineelko requested a review from os-d January 10, 2025 20:00
@codecov-commenter
Copy link

codecov-commenter commented Jan 10, 2025

Codecov Report

Attention: Patch coverage is 0% with 376 lines in your changes missing coverage. Please review.

Project coverage is 1.60%. Comparing base (cd81b47) to head (866f94c).

Files with missing lines Patch % Lines
UefiCpuPkg/MpDxe/MpDxe.c 0.00% 268 Missing ⚠️
UefiCpuPkg/MpDxe/LoongArch64/MpDxe.c 0.00% 108 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##           dev/202405    #1253      +/-   ##
==============================================
+ Coverage        1.56%    1.60%   +0.03%     
==============================================
  Files            1377     1379       +2     
  Lines          358699   359635     +936     
  Branches         5524     5524              
==============================================
+ Hits             5620     5760     +140     
- Misses         352875   353768     +893     
+ Partials          204      107      -97     
Flag Coverage Δ
MdeModulePkg 0.67% <ø> (ø)
NetworkPkg 0.55% <ø> (+0.19%) ⬆️
PolicyServicePkg 30.41% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vineelko vineelko force-pushed the users/vineelko/mpdxe_0110_2 branch from 0fcf892 to c73c7a2 Compare January 10, 2025 20:52
@vineelko vineelko force-pushed the users/vineelko/mpdxe_0110_2 branch from c73c7a2 to 158f195 Compare January 10, 2025 23:24
/** @file
MP DXE Module to produce MP Protocol.

Copyright (c) 2024, Loongson Technology Corporation Limited. All rights reserved.<BR>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Loongson the sole copyright owner for this file?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's okay given it is in the LoongArch64 directory, the code just looks familiar/common.

VOID
)
{
// //
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole file is marked as a Mu change, but other sections also mark individual Mu changes. These commented lines should be marked too if each section is being marked.

Comment on lines 10 to 11
#ifndef _MP_DXE_H_
#define _MP_DXE_H_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#ifndef _MP_DXE_H_
#define _MP_DXE_H_
#ifndef MP_DXE_H_
#define MP_DXE_H_

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed it.

LoongArch64/MpDxe.c
MpDxe.h

[Protocols]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The double commented lines for gEfiCpuArchProtocolGuid are confusing with no further context.

  # gEfiCpuArchProtocolGuid ## CONSUMES
# gEfiCpuArchProtocolGuid ## PRODUCES

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad Michael, I missed it, Will prune it.


[Protocols]
gEfiMpServiceProtocolGuid ## PRODUCES
# gEfiCpuArchProtocolGuid ## CONSUMES
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is a new driver, is there a point in commenting out irrelevant code? It could just be diffed against CpuDxe.inf if someone is interested in that, right?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will prune these as well

@makubacki
Copy link
Member

makubacki commented Jan 11, 2025

Did you intentionally choose not to backport this to the release branch?

"[ ] Backport to release branch?"

@github-actions github-actions bot added the type:backport Backport changes in a dev branch PR to its release branch. label Jan 11, 2025
Signed-off-by: Vineel Kovvuri[MSFT] <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:backport Backport changes in a dev branch PR to its release branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants