MinPlatformPkg,Features: Relocate MinPlatformPkg for multi-arch support#938
MinPlatformPkg,Features: Relocate MinPlatformPkg for multi-arch support#938vishalo wants to merge 1 commit intotianocore:masterfrom
Conversation
nate-desimone
left a comment
There was a problem hiding this comment.
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.
|
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:
Fully agree with waiting until after the Q1 stable tag, given the number of downstream consumers. Looking forward to hearing from others as well. |
|
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 |
|
@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. |
I also have a slight preference for To me, the only things that look overtly Intel-specific in MinPlatformPkg is
I believe most of the code in MinPlatformPkg furthers that goal in a silicon agnostic manner. |
84cd057 to
930b101
Compare
|
Thank you @leiflindholm .
Thank you @SaiChaganty and @nate-desimone . I've updated patch to move to Platform/MinPlatformPkg. |
930b101 to
710d8ed
Compare
|
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? |
|
@vishalo did you accidentally close this PR and want it reopened? |
Yes @leiflindholm . Did not mean to close it. |
|
@ardbiesheuvel @makubacki @mdkinney could one of you with write access reopen this PR please? |
|
Looks like this PR is in a bad state. There are no files changed. |
|
@vishalo please push your latest set to your move_minplat branch. |
leiflindholm
left a comment
There was a problem hiding this comment.
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. |
e33b212 to
2a30163
Compare
Thank you @leiflindholm ! |
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>
|
Moved to using MIN_PACKAGE_TOOLS to get to Fsp scripts. |
|
Hi @nate-desimone, @SaiChaganty, Thank you again for the helpful feedback on this PR. I've updated it to move MinPlatformPkg to |
|
@nate-desimone @SaiChaganty @mdkinney if no further comments, can I go ahead and merge? |
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.