-
Notifications
You must be signed in to change notification settings - Fork 863
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
Building spike with "--with-priv=m" config option renders spike unusable #1802
Comments
It should no longer be necessary to set the ISA at compile time. Try building spike without the |
Building with |
What I meant is that the
|
I understand what you meant. As I've said, in that case it works fine. I realized that my initial impression of the working principle of the CSR register value mstatus.FS is flawed, and the I think this is simply a problem caused by |
Glad to hear it. We had some other recent problems with non-default privilege mode support, so a bug here would not have been surprising. @aswaterman @YenHaoChen @rtwfroody do you have any opinions on removing the compile-time select of |
I wouldn't be surprised if some users rely on them for convenience. If they were a major burden to maintain, then I'd say ditch them, but that doesn't appear to be the case. So I guess I lean towards keeping them, but it isn't a strong feeling. |
I have never used or been aware of the compile-time select of |
Compile-time select for DEFAULT_ISA and DEFAULT_PRIV just leads to confusion, because people could run the same spike command and end up with different ISA. This does lead me to another question I have. In my spike builds (latest master, just now, configured with nothing except --prefix):
Why is S set in misa for this ISA? |
So, remove it, see if anyone complains, and revert if need be? |
Users expect backward compatibility, and developers prefer deprecation. Spike does occasionally deprecate existing features to provide an elegant software implementation, which is essential for others to get involved in development. The deprecation of the P extension is a solid example. I'd like to know whether Spike could aim at keeping all features in the current release, i.e., Version 1.1.0, and have a deprecation plan for the future release, e.g., Version 1.2.0. |
It seems the |
But I find that default configuration very confusing and not what I want. Should I open a separate issue? |
Hello,I also have the same problem when I run spike with --priv=m,I need try the new merge? |
To test a RISC-V core with only Machine mode implemented, I require spike to run with M privilege mode.
Building spike as normal with the config options
--prefix=$RISCV --with-isa=rv32imf
and then using the--priv=m
argument seems to not work, as it still checks for the mstatus.FS value (which, to my understanding, doesn't exist if S mode is not implemented).To work around this issue, I built spike with config options
../configure --prefix=$RISCV --with-isa=rv32imf --with-priv=m
. This causes an even stranger issue, where no matter which binary I try to load into spike, it raises the error:Which is clearly wrong as that's entirely different than the ISA option that i defined in the config. (It makes no difference if i force any other ISA with the
--isa
argument)The text was updated successfully, but these errors were encountered: