From: lkcl Date: Fri, 14 Jun 2019 14:16:23 +0000 (+0100) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~4627 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9fefa47074127fe24da40abaf979853dbc246a0b;p=libreriscv.git --- diff --git a/isa_conflict_resolution/isamux_isans.mdwn b/isa_conflict_resolution/isamux_isans.mdwn index b638d8cb1..b694119a1 100644 --- a/isa_conflict_resolution/isamux_isans.mdwn +++ b/isa_conflict_resolution/isamux_isans.mdwn @@ -159,6 +159,17 @@ trap_exit(x_cause): +# Is this like MISA? + +No. + +* MISA's space is entirely taken up (and running out). +* There is no allocation (provision) for custom extensions. +* MISA switches on and off entire extensions: ISAMUX/NS may be used to switch multiple opcodes (present and future), to alternate meanings. +* MISA is WARL and is inaccessible from everything but M-Mode (not even readable). + +MISA is therefore wholly unsuited to U-Mode usage; ISANS is specifically permitted to be called by userspace to switch (with no stalling) between namespaces, repeatedly and in quick succession. + # What happens if this scheme is not adopted? Why is it better than leaving things well alone? At the first sign of an emergency non-backwards compatible and unavoidable