[libre-riscv-dev] [Bug 264] ISA switch needs to be a privileged operation

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Mon Mar 23 08:37:44 GMT 2020


--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #5)

> If we use the same 2 C opcodes for compressed pairs, then we can end up with
> 13.5 bits available per instruction, rather than just 11, which allows us to
> define about 5.656 (!) times as many compressed instructions.
> 13.5 = (32 - 6 + 1) / 2
> 11 = 16 - 6 + 1
> 5.656... = 2 ^ (13.5 - 11)

other ideas along this theme include saying, in that initial 32-bit space, is
to specify how many of the next instructions are to be encoded as C.

i'd recommend to reserve the option to do this, as it involves storing state
(the countdown timer) whereas just having 2 C opcodes as pairs is dead simple,
as long as you accept that the PC encodes the state information about the fact
that if the PC is on a 2-byte boundary you're in the middle of the pair.

this allows the PC to store the state if there is a trap.

> VLE requiring separate pages seems like a total mess that we should not
> emulate.

i only looked at it briefly so we can't write it off entirely, however... yeah

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list