From 083aa7cf6e2ff406a26a525eab4536eb4b162940 Mon Sep 17 00:00:00 2001 From: lkcl Date: Fri, 14 Jun 2019 12:42:57 +0100 Subject: [PATCH] --- isa_conflict_resolution/isamux_isans.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/isa_conflict_resolution/isamux_isans.mdwn b/isa_conflict_resolution/isamux_isans.mdwn index 8d2018854..74c8b7628 100644 --- a/isa_conflict_resolution/isamux_isans.mdwn +++ b/isa_conflict_resolution/isamux_isans.mdwn @@ -77,7 +77,11 @@ This to occur immediately and atomically at the point at which the change in ISA The most obvious application of this is for Foreign Archs, which may have their own completely separate PC. Thus, foreign assembly code and RISCV assembly code need not be mixed in the same binary. -Further use-cases may be envisaged however great care needs to be taken to not cause massive complications for JIT emulation, as the RV ISANS is unary encoded (2^31 permutations). Switching CSR and PC in the RISCV unary NS therefore needs to be done wisely and responsibly, i.e. minimised! +Further use-cases may be envisaged however great care needs to be taken to not cause massive complications for JIT emulation, as the RV ISANS is unary encoded (2^31 permutations). + +In addition, the state information of *all* namespaces has to be saved and restored on a context-switch (unless the SP is also switched as part of the state!) which is quite severely burdensome and getting exceptionally complex. + +Switching CSR, PC (and potentially SP) and other state on a NS change in the RISCV unary NS therefore needs to be done wisely and responsibly, i.e. minimised! To be discussed. Context -- 2.30.2