-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add Star64 as supported platform #181
base: master
Are you sure you want to change the base?
Conversation
Hardware/Star64.md
Outdated
@@ -0,0 +1,34 @@ | |||
--- | |||
riscv_hardware: true | |||
cmake_plat: star64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should call this pine-star64
to make the name a bit more unique. Or jh7110-star64
, because there are more boards with the JH7110 SOC. I have a branch for the VisionFive, where the v2 board version will also use this SOC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change it to something like pine64-star64
but it looks like other boards by Pine64 just list the board name. Is it expected for another board to exist also called Star64 with a different SoC? I thought that just having Star64 should be disambiguous enough but maybe not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the name on the Pine64 store is "STAR64 Model-A" so might be worth changing this to something like star64_a
Hardware/Star64.md
Outdated
[here](https://wiki.pine64.org/wiki/STAR64) for details. | ||
|
||
The StarFive JH7110 SoC is comprised of the SiFive U74-MC (four 64-bit U74 | ||
cores and one 64-bit S7 core) and one SiFive E24 32-bit core. Note that by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cores and one 64-bit S7 core) and one SiFive E24 32-bit core. Note that by | |
cores and one 64-bit S7 core) and one SiFive E24 32-bit (RV32IMAFBC) core. Note that by |
I'd also drop the "Note that by default seL4 is setup to use the U74 cores.", as it can't run on the other cores due to the lack of S-Mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about not dropping it and instead saying that seL4 only runs on the U74 cores since the other cores lack S-Mode?
Hardware/Star64.md
Outdated
cmake_plat: star64 | ||
xcompiler_arg: -DRISCV64=1 | ||
platform: Star64 | ||
arch: RV64GBC, RV64IMAC, RV32IMAFBC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we really list RV32IMAFBC
here? The E24 only has M-Mode and U-Mode, so seL4 cannot run there. Same actuall for RV64IMAC
of the S7, seL4 cannot run there, so there is ont much point to mention this here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was being consistent with the HiFive Unleashed, it has a S51 core which also lacks S-Mode. I interpreted the hardware page as what each hardware platform can support, rather than what seL4 supports. Another example is the Rocketchip which has virtualisation support as "Yes", despite the kernel not being able to run in hypervisor mode on RISC-V (yet).
@axel-h How much detail do you want me to go into for the boot process here? It looks like U-Boot proper does not build for M-mode so the only method currently supported is what comes with the board, U-Boot SPL loads OpenSBI which has a U-Boot payload which starts in S-Mode. Then you can use TFTP/loading off of the MMC to load an seL4 image. I also have instructions for creating a bootable image off of the SD card instead of the flash here: https://github.com/Ivan-Velickovic/star64_sdcard. Should I reproduce those instructions on the docs site? |
I would say yes, that would be great. Whatever is needed or would help someone get started who has not much background in any of these. |
f8c4111
to
2a57d39
Compare
Okay I think this is good to go. Unfortunately I still don't have a working timer driver so I think we should hold off on merging this and the seL4 PR until I have that. |
Signed-off-by: Ivan-Velickovic <[email protected]>
|
||
## Building seL4test | ||
|
||
{% include sel4test.md %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only thing left to do is specify that if you have the 8GB model then you can use the overlay-star64-8gb.dts
.
Depends on seL4/seL4#1019.