Enable UPL support for RISC-V#6139
Merged
mergify[bot] merged 10 commits intoSep 14, 2024
Merged
Conversation
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 29, 2024
f40e737 to
65183fa
Compare
ChaselChiu
reviewed
Aug 29, 2024
ChaselChiu
reviewed
Aug 30, 2024
ChaselChiu
reviewed
Aug 30, 2024
ChaselChiu
reviewed
Aug 30, 2024
ChaselChiu
reviewed
Aug 30, 2024
65183fa to
1170d4a
Compare
7cecfe4 to
a76269f
Compare
ChaselChiu
reviewed
Sep 5, 2024
ce73db7 to
e1f2189
Compare
ChaselChiu
reviewed
Sep 6, 2024
e1f2189 to
26bb395
Compare
ChaselChiu
reviewed
Sep 9, 2024
ChaselChiu
reviewed
Sep 10, 2024
26bb395 to
986e817
Compare
gdong1
reviewed
Sep 10, 2024
gdong1
reviewed
Sep 10, 2024
986e817 to
7c0e821
Compare
Contributor
Author
|
Thanks then I guess we are all good to go?
…On Thu, Sep 12, 2024 at 9:25 PM Guo Dong ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In UefiPayloadPkg/UefiPayloadEntry/AcpiTable.c
<#6139 (comment)>:
> @@ -128,11 +128,11 @@ ParseAcpiInfo (
//
// Verify values for proper operation
//
- ASSERT (Fadt->Pm1aCntBlk != 0);
- ASSERT (Fadt->PmTmrBlk != 0);
- ASSERT (Fadt->ResetReg.Address != 0);
- ASSERT (Fadt->Pm1aEvtBlk != 0);
- ASSERT (Fadt->Gpe0Blk != 0);
+ // ASSERT (Fadt->Pm1aCntBlk != 0);
+ // ASSERT (Fadt->PmTmrBlk != 0);
+ // ASSERT (Fadt->ResetReg.Address != 0);
+ // ASSERT (Fadt->Pm1aEvtBlk != 0);
+ // ASSERT (Fadt->Gpe0Blk != 0);
ok. once this PR is merged, will create a new PR to update it.
—
Reply to this email directly, view it on GitHub
<#6139 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/A3DE7SA3DCGNKOXYHWRQV3LZWG2NVAVCNFSM6AAAAABNKJVIJ6VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGMBQG43DQMJQG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Thanks!
=D
|
gdong1
approved these changes
Sep 12, 2024
Contributor
|
It looks this branch is out-of-date, need rebase it. |
7c0e821 to
c9462d0
Compare
ChaselChiu
approved these changes
Sep 12, 2024
da50d16 to
2ed2689
Compare
Option node provides info that is to be consumed by during metadata creation for other nodes like root bridge; pci-enum-done etc. Handle that dependency by storing option values in a variable and then apply it during post processing. Ideally such cross node dependency should be avoided in design. Scope for futher improvements. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
Not every node has compatible property; avoid parsing nodes which return NULL. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
Expose UPL required PCDs for RISC-V Arch Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
As per specification we are going to accept only one argument at the entry point which is FDT pointer. Grab that and call the entry point. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
We do not need to go deep into verifying all ACPI tables at this stage. TODO: Just a simple ACPI header signature check should be good enough. For now just commenting out asserts that mandate one to have various tables which is not applicable to all platforms. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
We need to let UEFI know that there are cetain memory types which are special purpose (CXL/HBM) etc and we may want to avoid using them for UEFI purposes. Hence UPL needs to know about such memory types. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
In order to properly enable multisegment RB, we need to grab ecam data from the FDT for each bridge. Current UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES struct from MdeModulePkg does not include definition for ecam. In order to maintain backward compatibility and also avoid diverging too much from core, we are going to define a new HOB for UPL segment information and pass it to GetPciSegmentInfo function. Ths function then grabs specifically ecam info from the segment hob along with other rb specific information to create final RB info required by multi segment PCI driver. Additionally we would like to support legacy implementations which rely on ACPIBoard HOB to fill up segment info. So if UplSegmentInfo Hob is not found we try and look for other hob. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
Devicetree defines a short hand way of defining reserved memory ranges. Add APIs to access such nodes Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
DT has a way to provide reserved images in a simpler tabular manner. UPL should be able to support that. Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
2ed2689 to
0b80d4c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This patchset enable RISC-V support for UPL.
How This Was Tested
This patchset was tested on an internal Risc-V simulation platform hence:
Integration Instructions
Build instructions:
python UefiPayloadPkg/UniversalPayloadBuild.py -t GCC5 --Fit -a RISCV64 -l "place your addr here" -c */UefiPayloadPkg.dsc