Skip to content

MinPlatformPkg,Features: Relocate MinPlatformPkg for multi-arch support#938

Open
vishalo wants to merge 1 commit intotianocore:masterfrom
vishalo:move_minplat
Open

MinPlatformPkg,Features: Relocate MinPlatformPkg for multi-arch support#938
vishalo wants to merge 1 commit intotianocore:masterfrom
vishalo:move_minplat

Conversation

@vishalo
Copy link
Copy Markdown
Contributor

@vishalo vishalo commented Feb 3, 2026

Move MinPlatformPkg from Intel specific directory into the Features directory. This prepares the codebase for supporting additional architectures and for separating Intel specific logic from the common MinPlatformPkg framework.

Update build.cfg and build_bios.py to point to the new path for MinPlatformPkg under edk2-platforms/Platform.

Update CODEOWNERS and REVIWERES to new path.

Test:
Compiled AlderLake and QemuOpenBoarkdPkg.
Confirmed QemuOpenBoardPkg boots to shell.

Copy link
Copy Markdown
Member

@nate-desimone nate-desimone left a comment

Choose a reason for hiding this comment

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

Hi @vishalo - Features/MinPlatformPkg isn't the right directory for MinPlatformPkg. MinPlatformPkg isn't a feature, it is architectural to the EDK II Min-Platform Specification.

Appropriate places would be either Platform/MinPlatformPkg or putting MinPlatformPkg at the root of edk2-platforms. We should wait on something like this until after the Q1 stable tag is done because this package is has a very large number of downstream consumers.

@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Feb 6, 2026

Thank you for the review @nate-desimone - I agree that MinPlatformPkg's architectural nature makes Features/ not the ideal location.

I'm happy to move it to either Platform/MinPlatformPkg or edk2-platforms/MinPlatformPkg. My initial thinking (suggestion from Leif) was to separate it from Platform/Intel/ to signal multi-arch support, but I see your point.

Between the two options you mentioned, which would better align with the EDK II Min-Platform Specification's intent?

Option 1: Platform/MinPlatformPkg - keeps it under the Platform hierarchy while removing the Intel-specific path

Option 2: Since we may have some silicon and architecture-specific code, what about:

  • edk2-platforms/MinPlatform/Silicon/
  • edk2-platforms/MinPlatform/Platform/
    This would mirror the existing top-level structure and better support multi-arch in the future.

Fully agree with waiting until after the Q1 stable tag, given the number of downstream consumers.

Looking forward to hearing from others as well.

@SaiChaganty
Copy link
Copy Markdown
Contributor

Looking at the layout of edk2-platforms, it is a repository that allows companies to add their content (silicon, platform tools etc. ) unlike Edk2 repo which is more scoped around hosting cross community collaboration (barring maybe some exceptions :)).

I am leaning towards option 1 (unless we have details on the "silicon and architectural-specific code") primarily from a scope standpoint. MinPlatform Architecture deals with platform boot flow orchestration in a consistent manner.

I also think that we should have a good understanding of architecture specific Vs architecture agnostic content in this package before moving to edk2-platforms\Platform

@leiflindholm
Copy link
Copy Markdown
Member

@SaiChaganty I'm not going to get involved in where it goes, I mainly care about it becoming more widely used across architectures.

But I would like to put in a vote for not figuring all aspects of which is architecture specific Vs architecture agnostic beforehand. That is something we can easily adjust after the fact.

Some things may want splitting up on an architecture level (which could use AARCH64/RISCV64/X64 subdirectories like in edk2), and some of it may want splitting up on a vendor level (Intel/AMD/Arm/Qualcomm).

And it may not be obvious which is which until there are more architectures and vendors making use of the code. And if we try to unravel all of that before we move anyway, the move may effectively be indefinitely stalled.

@nate-desimone
Copy link
Copy Markdown
Member

Between the two options you mentioned, which would better align with the EDK II Min-Platform Specification's intent?

I also have a slight preference for Platform/MinPlatformPkg, but I'm not married to either option.

To me, the only things that look overtly Intel-specific in MinPlatformPkg is MinPlatformPkg/FspWrapper/** and MinPlatformPkg/Tools/Fsp/**. Those might be good candidates for a Platform/Intel/IntelPlatformPkg or something like that. The rest of it seems mostly generic to me. The ultimate purpose of the package is to be middleware that:

  1. Adds consistency across platforms
  2. Makes it easier use of EDK II.

I believe most of the code in MinPlatformPkg furthers that goal in a silicon agnostic manner.

@vishalo vishalo force-pushed the move_minplat branch 2 times, most recently from 84cd057 to 930b101 Compare February 9, 2026 23:01
@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Feb 9, 2026

Thank you @leiflindholm .

I am leaning towards option 1 (unless we have details on the "silicon and architectural-specific code") primarily from a scope standpoint.
I also have a slight preference for Platform/MinPlatformPkg, but I'm not married to either option.

Thank you @SaiChaganty and @nate-desimone . I've updated patch to move to Platform/MinPlatformPkg.

@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Mar 10, 2026

Hi @nate-desimone,

I will rebase once #948 merges.

Regarding the Intel-specific components (MinPlatformPkg/FspWrapper/** and MinPlatformPkg/Tools/Fsp/**): I'm inclined to handle this separation to Platform/Intel/IntelPlatformPkg as a follow-up PR to keep this change focused on the relocation. However, I'm happy to include it here if you prefer. What are your thoughts?

@leiflindholm
Copy link
Copy Markdown
Member

@vishalo did you accidentally close this PR and want it reopened?

@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 2, 2026

@vishalo did you accidentally close this PR and want it reopened?

Yes @leiflindholm . Did not mean to close it.

@leiflindholm
Copy link
Copy Markdown
Member

@ardbiesheuvel @makubacki @mdkinney could one of you with write access reopen this PR please?

@mdkinney
Copy link
Copy Markdown
Member

mdkinney commented Apr 2, 2026

Looks like this PR is in a bad state. There are no files changed.

@leiflindholm
Copy link
Copy Markdown
Member

@vishalo please push your latest set to your move_minplat branch.

@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 3, 2026

@vishalo please push your latest set to your move_minplat branch.

69b22ee

@vishalo vishalo reopened this Apr 3, 2026
Copy link
Copy Markdown
Member

@leiflindholm leiflindholm left a comment

Choose a reason for hiding this comment

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

The diff is massive and not just showing moves - have you changed line endings too?

Comment thread Platform/Intel/build_bios.py Outdated
@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 3, 2026

The diff is massive and not just showing moves - have you changed line endings too?

No, I did not update line endings.

@leiflindholm
Copy link
Copy Markdown
Member

leiflindholm commented Apr 3, 2026

The diff is massive and not just showing moves - have you changed line endings too?

No, I did not update line endings.

Then you need to have a serious talk to whoever is messing with your repository.

edk2-platforms$ file Platform/Intel/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c
Platform/Intel/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c: c program text, ASCII text, with CRLF line terminators
edk2-platforms$ git checkout --track vishalo/move_minplat
branch 'move_minplat' set up to track 'vishalo/move_minplat'.
Switched to a new branch 'move_minplat'
edk2-platforms$ file Platform/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c
Platform/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c: c program text, ASCII text

@vishalo vishalo force-pushed the move_minplat branch 2 times, most recently from e33b212 to 2a30163 Compare April 6, 2026 21:21
@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 6, 2026

The diff is massive and not just showing moves - have you changed line endings too?

No, I did not update line endings.

Then you need to have a serious talk to whoever is messing with your repository.

edk2-platforms$ file Platform/Intel/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c
Platform/Intel/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c: c program text, ASCII text, with CRLF line terminators
edk2-platforms$ git checkout --track vishalo/move_minplat
branch 'move_minplat' set up to track 'vishalo/move_minplat'.
Switched to a new branch 'move_minplat'
edk2-platforms$ file Platform/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c
Platform/MinPlatformPkg/Acpi/AcpiSmm/AcpiMm.c: c program text, ASCII text

Thank you @leiflindholm !

Comment thread Platform/Intel/build_bios.py Outdated
Move MinPlatformPkg from Intel specific directory into Platform
directory. This prepares the codebase for supporting additional
architectures and for separating Intel specific logic from the common
MinPlatformPkg framework.

Update build.cfg and build_bios.py to point to the new path for
MinPlatformPkg under Features.

Update CODEOWNERS and REVIWERES to new path.

Signed-off-by: Vishal Oliyil Kunnil <vishalo@qti.qualcomm.com>
@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 6, 2026

Moved to using MIN_PACKAGE_TOOLS to get to Fsp scripts.

@vishalo
Copy link
Copy Markdown
Contributor Author

vishalo commented Apr 7, 2026

Hi @nate-desimone, @SaiChaganty,

Thank you again for the helpful feedback on this PR. I've updated it to move MinPlatformPkg to Platform/MinPlatformPkg as we discussed - this is ready for review.

@leiflindholm
Copy link
Copy Markdown
Member

@nate-desimone @SaiChaganty @mdkinney if no further comments, can I go ahead and merge?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants