You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following modules MMU / MMIO / OOB / EXP / ... have their own "instruction sets" independent of the EVM's instruction set, see the respective specifications. These are typically 2 byte integers (to differentiate them from the 1 byte opcodes of the EVM.) It would be great help if we could annotate these columns in corset to display the associated instruction names in corset inspect. The current state of things makes it hard to deciper what is going on.
Here is an example from the MMU module. The MMU module has 3 "instruction" columns
the macro/MMU_INST column it gets from the HUB, it contains values from the MMU's instruction set
the micro/MMIO_INST column it provides the MMIO module with, containing values from the MMIO's instruction set
the wcp/INST column it provides the WCP module with, containing regular EVM instructions
The stuff below is supposed to represent the sequence of MMU instructions the HUB creates in response to dealing with KECCAK, MSTORE, KECCAK, MSTORE, LOG2, REVERT (with LOG2 deliberately not drawn due to reverting and REVERT missing for reasons I'm still investigating due to this being the root context of the transaction.)
The text was updated successfully, but these errors were encountered:
E.g. when we do a STATICCALL to the SHA2-256 precompile we see both 0x ca and 0x ff 02 rather than the expected OOB_INST_CALL and OOB_INST_SHA2.
It would be nicer if we could display e.g. OOB_INST_CALL etc ... rather than these cryptic pseudo opcodes. Also since the LHS of the screen displays the column name (e.g. misc/OOB_INST, misc/MMU_INST, misc/EXP_INST, misc/MXP_INST) we don't need to include the XXX_INST_ prefix in the display name.
The following modules MMU / MMIO / OOB / EXP / ... have their own "instruction sets" independent of the EVM's instruction set, see the respective specifications. These are typically 2 byte integers (to differentiate them from the 1 byte opcodes of the EVM.) It would be great help if we could annotate these columns in
corset
to display the associated instruction names incorset inspect
. The current state of things makes it hard to deciper what is going on.Here is an example from the MMU module. The MMU module has 3 "instruction" columns
macro/MMU_INST
column it gets from the HUB, it contains values from the MMU's instruction setmicro/MMIO_INST
column it provides the MMIO module with, containing values from the MMIO's instruction setwcp/INST
column it provides the WCP module with, containing regular EVM instructionsThe stuff below is supposed to represent the sequence of MMU instructions the HUB creates in response to dealing with
KECCAK
,MSTORE
,KECCAK
,MSTORE
,LOG2
,REVERT
(withLOG2
deliberately not drawn due to reverting andREVERT
missingfor reasons I'm still investigatingdue to this being the root context of the transaction.)The text was updated successfully, but these errors were encountered: