Skip to content
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

Can it run OpenSBI? #35

Open
ElectroBoy404NotFound opened this issue Jul 2, 2023 · 9 comments
Open

Can it run OpenSBI? #35

ElectroBoy404NotFound opened this issue Jul 2, 2023 · 9 comments

Comments

@ElectroBoy404NotFound
Copy link

Hi!

I have a pre-compiled risc-v opensbi image with the following:
image

So what file am i supposed to execute with the emulator? I tried fw_jump.bin but it didn't work.

@cnlohr
Copy link
Owner

cnlohr commented Jul 3, 2023

It "should be able to" but I've never understood opensbi, or gotten it to successfully build and run on literally anything except qemu.

I encourage you to do this, it would be cool for someone to understand it. But I do not.

@ElectroBoy404NotFound
Copy link
Author

Makes sense

@upsampled
Copy link

I think the first step to accomplish this is either:

  • define a device tree (dts) for the mini-rv32ima
  • make platform specific binding for the mini-rv32ima in OpenSBI

The former is the preferred solution as Linux, and I also believe U-boot, can leverage the dts file.

This has been the best reference on the subject so far.

@ElectroBoy404NotFound
Copy link
Author

I think the first step to accomplish this is either:

  • define a device tree (dts) for the mini-rv32ima
  • make platform specific binding for the mini-rv32ima in OpenSBI

The former is the preferred solution as Linux, and I also believe U-boot, can leverage the dts file.

This has been the best reference on the subject so far.

Thanks! I'm going to try that

@upsampled
Copy link

@ElectroBoy404NotFound as long as @cnlohr doesn't mind the chatter, feel free to share your notes here.

@upsampled
Copy link

upsampled commented Nov 8, 2023

I'll see if I have time for a deeper dive later this month, but to start out:

@cnlohr emulates a 8250 UART, The output buffer address is 0x10000000 and input is 0x10000005. The DTS documentation for describing this is found here

Seems like we would need to determine the register start address (assuming 0x10000000) and length (guessing 0x100 but not sure) and other other settings.

@upsampled
Copy link

@cnlohr
Copy link
Owner

cnlohr commented Dec 24, 2023

I def don't mind the chatter. And yeah, the idea is I just don't use OpenSBI, it feels like a lot of extra cruft without any real payoff. I still don't "get it" for something where the kernel should just be able to boot. But if someone gets it working, please let me know! I'm happy to accept patches as long as they are small.

@ElectroBoy404NotFound
Copy link
Author

Well, I guess I better start checking notifications..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants