forked from tianocore/edk2-platforms
-
Notifications
You must be signed in to change notification settings - Fork 2
RISC-V: fix RISCV_EFI_BOOT_PROTOCOL #2
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
Open
xypron
wants to merge
17
commits into
ventanamicro:dev-upstream
Choose a base branch
from
xypron:RISCV_EFI_BOOT_PROTOCOL
base: dev-upstream
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
Cc: Daniel Schaefer <daniel.schaefer@hpe.com>
This patch adds required modules to qemu virt platform build. In qemu, ACPI tables are created by qemu itself and edk2 just installs them in proper way for OS consumption. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
The firmware should install either DT or ACPI tables, not both. This patch detects that qemu has created ACPI tables and provide preference to ACPI in that case and avoids installing DT. Ideally, this should be given as choice to the user as in ARM platform. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
RISC-V platforms need to support new RISCV_EFI_BOOT_PROTOCOL to communicate the boot hart id to the OS. This patch implements this protocol. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Currently, opensbi is integrated as a library in EDK2. Hence, it is always required to boot EDK2 in M-mode. This patch enables booting EDK2 in S-mode. A prior stage M-mode firmware like opensbi is mandatory in this case to boot edk2 in S-Mode. This enables working with latest opensbi without going through the process of integration with EDK2. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Currently, the system memory size is hardcoded. But the system memory can be configured while launching qemu. Hence, this patch enables reading memory configured at runtime. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
On Qemu, timer frequency is 10000000. But EDK2 is currently using 1000000. Due to this, the timeout expires much faster. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
boot-hartid in DT is always updated with a build time constant hartid. This works only when EDK2 is booted in M-mode. Instead of hard coded hartid, use the hartid which is populated in the Firmware Context structure during boot. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
The proposed RISC-V boot protocol specification requires that calling GetBootHartId() with a value of This other than the protocol interface address shall result in EFI_INVALID_PARAMETER. It is not sufficient to test that This is not NULL. Cf. https://bugzilla.tianocore.org/show_bug.cgi?id=3837 Fixes: 6daebc9 ("RISC-V: Implement RISCV_EFI_BOOT_PROTOCOL") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
e4758c7 to
7af484d
Compare
3f6b48c to
e55f052
Compare
e8da983 to
fcd7aee
Compare
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.
The proposed RISC-V boot protocol specification requires that calling
GetBootHartId() with a value of This other than the protocol interface
address shall result in EFI_INVALID_PARAMETER. It is not sufficient
to test that This is not NULL.
Cf. https://bugzilla.tianocore.org/show_bug.cgi?id=3837
Fixes: 6daebc9 ("RISC-V: Implement RISCV_EFI_BOOT_PROTOCOL")
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com