Page MenuHomeFreeBSD

sysutils/opensbi: update to version 0.6
ClosedPublic

Authored by mhorne on Feb 24 2020, 8:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 21, 11:27 PM
Unknown Object (File)
Sat, Dec 14, 5:02 AM
Unknown Object (File)
Oct 21 2024, 8:28 AM
Unknown Object (File)
Oct 4 2024, 11:28 PM
Unknown Object (File)
Oct 1 2024, 5:12 AM
Unknown Object (File)
Sep 30 2024, 9:02 PM
Unknown Object (File)
Sep 28 2024, 10:34 AM
Unknown Object (File)
Sep 28 2024, 8:09 AM
Subscribers

Details

Summary

Adds a new default option: SPIKE. This builds the support for the Spike platform.
Switch toolchain dependency from riscv64-gcc to riscv64-none-elf-gcc.

This release has:

Relocation lottery in reference firmwares
Preferred boot HART field in fw_dynamic_info
Platform specific optional way to specify MISA
Hypervisor v0.5 specification support
SBI v0.2 TIME extension
SBI v0.2 IPI extension
SBI v0.2 RFENCE extension
T-HEAD C910 platform support
HART exit path support
Dynamic creation of IPI events
Dynamic registration of SBI extensions
Removed qemu/sifive_u platform support
Spike platform support
Print MIDELEG and MEDELEG in boot prints

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Depend on riscv64-none-elf-binutils as well.

This looks good but I'd like to test it before I click the accept button. I'll try to make this work on my FU540 this afternoon.

I'll test this in qemu and spike.

sysutils/opensbi/Makefile
19 ↗(On Diff #68784)

I didn't catch this in the previous patch, please put BUILD_DEPENDS right below of LICENSE, thanks.

I've tested this in QEMU. You're welcomed to commit this if you have tested in Spike (and other platforms).

This revision is now accepted and ready to land.Feb 25 2020, 5:14 AM

I've just tested the spike binary, and the following warning was emitted:

warning: tohost and fromhost symbols not in ELF; can't communicate with target

It seems it won't boot after the elf was stripped. Should we skip stripping altogether or just for the Spike binaries?

Perhaps you want a ${${platform}_STRIP_ARGS} that has -K tohost -K fromhost for SPIKE?

This revision now requires review to proceed.Feb 25 2020, 7:58 PM

Perhaps you want a ${${platform}_STRIP_ARGS} that has -K tohost -K fromhost for SPIKE?

Thanks, that worked. Unfortunately strip(1) doesn't have a --keep-section option, as these symbols are kept in the .htif section.

sysutils/opensbi/Makefile
54 ↗(On Diff #68821)

Is there a reason these have gained an @ prefix but all the other rules are still echoing?

lwhsu added inline comments.
sysutils/opensbi/Makefile
54 ↗(On Diff #68821)

I'm also curious about this. For me I would like to show messages as much as possible to let users know what's going on unless it's too verbose.

This revision is now accepted and ready to land.Feb 26 2020, 4:44 AM
sysutils/opensbi/Makefile
54 ↗(On Diff #68821)

I converted the for loop to a wildcard, and after that I thought the command output was more confusing to read so I suppressed it. No reason more than that, so I can drop it in the commit if that's preferable.

If you're curious why I converted it to a wildcard, it's because the spike platform does not create fw_dynamic binaries.

This revision was automatically updated to reflect the committed changes.