diff --git a/evm/src/cpu/kernel/aggregator.rs b/evm/src/cpu/kernel/aggregator.rs index 85ebd11a..d8466894 100644 --- a/evm/src/cpu/kernel/aggregator.rs +++ b/evm/src/cpu/kernel/aggregator.rs @@ -48,6 +48,10 @@ pub(crate) fn combined_kernel() -> Kernel { include_str!("asm/secp256k1/moddiv.asm"), include_str!("asm/secp256k1/lift_x.asm"), include_str!("asm/secp256k1/inverse_scalar.asm"), + include_str!("asm/sha2.asm"), + include_str!("asm/sha2_constants.asm"), + include_str!("asm/sha2_memory.asm"), + include_str!("asm/sha2_ops.asm"), include_str!("asm/ecrecover.asm"), include_str!("asm/rlp/encode.asm"), include_str!("asm/rlp/decode.asm"), diff --git a/evm/src/cpu/kernel/asm/sha2.asm b/evm/src/cpu/kernel/asm/sha2.asm index 37594f8d..10a2d815 100644 --- a/evm/src/cpu/kernel/asm/sha2.asm +++ b/evm/src/cpu/kernel/asm/sha2.asm @@ -123,7 +123,7 @@ global sha2_pad: // stack: num_bytes, retdest // STEP 3: insert num_blocks at start push 64 - swap + swap1 div %increment // stack: num_blocks := num_bytes // 64 + 1, retdest diff --git a/evm/src/cpu/kernel/asm/sha2_ops.asm b/evm/src/cpu/kernel/asm/sha2_ops.asm index cfb24d6a..c600afe9 100644 --- a/evm/src/cpu/kernel/asm/sha2_ops.asm +++ b/evm/src/cpu/kernel/asm/sha2_ops.asm @@ -54,7 +54,7 @@ add %endmacro -global sha2_sigma_0: +%macro sha2_sigma_0 JUMPDEST // stack: x dup1 @@ -76,6 +76,7 @@ global sha2_sigma_0: // stack: shr(x, 3), rotr(x, 18), rotr(x, 7) xor xor +%endmacro %macro sha2_sigma_1 // stack: x