Comments (9)
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.
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.
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.
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.
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.
@dpetrisko : Just curious which platform/RISC-V core are you trying to boot ?
from opensbi.
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.
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.
I am closing this now. Please re-open it if not resolved.
from opensbi.
Related Issues (20)
- What is the relationship between Coreboot and Opensbi HOT 2
- ld.bfd: unrecognized option --exclude-libs HOT 2
- fw_start and fw_rw_offset not aligned
- Is there any upper memory bound for initramfs or opensbi or kernel?
- Handling interrupts with multiple privileges on multiple harts in OpenSBI HOT 1
- [help] K210 serial port has no output HOT 1
- build issue - functions do not get linked HOT 1
- System freezes when setting smp value to 54 or higher with qemu-system-riscv64
- Firmware SMP boot bug HOT 2
- sbi_hsm_hart_start_finish: ERR: The hart is in invalid state [2147774600] HOT 1
- firmware base is not the value of FW_TEXT_START( but 0x80000000) HOT 1
- How to get symtab from elf?
- qemu-system-riscv64: -append only allowed with -kernel option HOT 1
- Writing drivers for Timer peripheral
- questions about OpenSBI Version 1.5 HOT 10
- opensbi failed to build HOT 1
- error: "__always_inline" redefined [-Werror]
- Why ld is leaving a hole in memory?
- Why do we need a while loop when processing IMSCI external interrupts? HOT 5
- understanding -PIE HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opensbi.