GithubHelp home page GithubHelp logo

Comments (9)

avpatel avatar avpatel commented on August 23, 2024 2

We wanted to support misaligned load/store emulation for both general registers and float registers but it is quite possible to have a system without float support.

Most platforms we started with initially had floating point so riscv_fp.h has a compile time check.

I do agree that we should not be mandating float any more.

Let me explore this more.

from opensbi.

dpetrisko avatar dpetrisko commented on August 23, 2024

We are also interested in compiling without FP (for now we just comment out irrelevant code, but it would be nice to have an officially supported configuration)

from opensbi.

Jesse-Millwood avatar Jesse-Millwood commented on August 23, 2024

Great, thanks for the reply. So I wasn't misconfiguring anything then.

Looks like if that #else that triggers that #error in that file are removed and the #endif moved to the end, then the sbi_misaligned_ldst.c has an error because the fp variable must get set and make it okay to call those {SET,GET}_F*_* macros.

I'm not entirely sure how the mepc is being used there. Could you explain that?

from opensbi.

Jesse-Millwood avatar Jesse-Millwood commented on August 23, 2024

We are also interested in compiling without FP (for now we just comment out irrelevant code, but it would be nice to have an officially supported configuration)

Would you happen to have a patch of all that you needed to comment out to help drive what guards and configuration variables would be needed?

from opensbi.

dpetrisko avatar dpetrisko commented on August 23, 2024

Would you happen to have a patch of all that you needed to comment out to help drive what guards and configuration variables would be needed?

We haven't booted using OpenSBI yet, just gotten it to compile. I'll make sure to followup if we get it working (or make a PR if it seems generally useful :))

from opensbi.

atishp04 avatar atishp04 commented on August 23, 2024

@dpetrisko : Just curious which platform/RISC-V core are you trying to boot ?

from opensbi.

Jesse-Millwood avatar Jesse-Millwood commented on August 23, 2024

I'm not entirely sure how the mepc is being used there. Could you explain that?

Actually I get it now, you're trying figuring out what kind of load instruction it is. For some reason I thought you were using it to figure out if floating point is supported or something but it makes sense now.

from opensbi.

avpatel avatar avpatel commented on August 23, 2024

There is one more case where users can run OpenSBI firmware compiled without FP on HW with FP. In this case, OpenSBI firmware should blindly redirect FP related misaligned load/store traps to S-mode.

I have send a patch to OpenSBI mailing list which address FP compilation issue and above mentioned case. Please try this patch at your end.

You can join OpenSBI mailing list using following link:
http://lists.infradead.org/mailman/listinfo/opensbi

Regards,
Anup

from opensbi.

avpatel avatar avpatel commented on August 23, 2024

I am closing this now. Please re-open it if not resolved.

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.