Luke Kenneth Casson Leighton
unread,Oct 19, 2018, 10:11:07 AM10/19/18Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to RISC-V ISA Dev
a few months back it was discussed that the RV instruction encoding
did not appear to be "clean" i.e. that there was no way to ascertain
if, from a particular opcode, if thats specific opcode was an RV32 one
or an RV64 one. i.e. additional state was required, namely XLEN.
the solution was suggested, "set XLEN, that sets the context,
therefore RV32 applications will run".
however, that does not imply automatically that 32-bit (RV32)
instructions may be *MIXED* with 64-bit (RV64) instructions. examples
of where this may be desirable include calling of RV32 libraries from
an RV64 system.
i am specifically interested in actually calling, at the assembly
level, from within the same function, an instruction where the
specific *RV32* meaning is required, *not* the RV64 meaning. in this
way actually mixing RV32 and RV64 within the *same function*.
reading the privspec (V1.11-draft) it appears that something called
UXL (mstatus, sstatus) is used to over-ride XLEN.
question: is it possible to override UXL from *user* mode?
l.