Git Product home page Git Product logo

Comments (5)

avpatel avatar avpatel commented on September 27, 2024

I think it's more complicated than simply adding AMO instruction emulation because OpenSBI uses AMO instructions for itself.

Please Refer,
lib/sbi/sbi_init.c
lib/sbi/sbi_tlb.c
lib/sbi/sbi_ipi.c
lib/sbi/riscv_atomc.c
firmware/fw_base.S

The RISC-V extensions mandatory for OpenSBI are I, M, and A.

We would certainly like to add support for VexRiscv but I would insist that VexRiscv implement RISC-V A extension completely rather than emulating AMO in OpenSBI.

from opensbi.

Ruinland-ChuanTzu-Tsai avatar Ruinland-ChuanTzu-Tsai commented on September 27, 2024

The RISC-V extensions mandatory for OpenSBI are I, M, and A.
We would certainly like to add support for VexRiscv but I would insist that VexRiscv implement RISC-V A extension completely rather than emulating AMO in OpenSBI.

Point taken.

That being said, though could be stretched too far, I'm still curious about about the "instruction emulation" scenario. It is possible that people may try to emulate a subset of extension, not necessarily A, in M-mode firmware.
Is there recommended approach in OpenSBI for this kind of needs ?

from opensbi.

avpatel avatar avpatel commented on September 27, 2024

We don't have a defined policy regarding emulation of other RISCV extensions in OpenSBI.

Till now, we have tried to keep instruction emulation at minimum in OpenSBI. That's why we have not added F and D extension emulation in OpenSBI because we can always have FP disabled in Linux and soft-float Linux rootfs.

I think adding emulation of any RISC-V extension in OpenSBI should only be last resort because trap-n-emulate not only adds lot of code but it is slow as well.

All this needs to be discussed in larger forum because OpenSBI is now used by lot of platforms. Probably you can start an email thread regarding this on OpenSBI mailing list.

Regards,
Anup

from opensbi.

avpatel avatar avpatel commented on September 27, 2024

No activity on this issue. Please re-open this issue if required.

Regards,
Anup

from opensbi.

gsomlo avatar gsomlo commented on September 27, 2024

@avpatel -- based on your comments earlier in this thread, do you think that maybe this https://github.com/riscv-software-src/opensbi/blame/master/docs/platform_requirements.md#L40 should be reworded so as to avoid suggesting that OpenSBI might in fact currently support emulation of (at least) F and D? Thanks!

from opensbi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.