diff --git a/evm/src/cpu/kernel/aggregator.rs b/evm/src/cpu/kernel/aggregator.rs index 75e7e0ac..e1efeaa1 100644 --- a/evm/src/cpu/kernel/aggregator.rs +++ b/evm/src/cpu/kernel/aggregator.rs @@ -48,17 +48,18 @@ pub(crate) fn combined_kernel() -> Kernel { let files = vec![ include_str!("asm/assertions.asm"), include_str!("asm/basic_macros.asm"), + include_str!("asm/curve/bn254/curve_mul.asm"), + include_str!("asm/curve/bn254/curve_add.asm"), + include_str!("asm/curve/bn254/moddiv.asm"), + include_str!("asm/curve/common.asm"), + include_str!("asm/curve/secp256k1/curve_mul.asm"), + include_str!("asm/curve/secp256k1/curve_add.asm"), + include_str!("asm/curve/secp256k1/moddiv.asm"), + include_str!("asm/curve/secp256k1/lift_x.asm"), + include_str!("asm/curve/secp256k1/inverse_scalar.asm"), include_str!("asm/exp.asm"), - include_str!("asm/curve_mul.asm"), - include_str!("asm/curve_add.asm"), include_str!("asm/halt.asm"), include_str!("asm/memory.asm"), - include_str!("asm/moddiv.asm"), - include_str!("asm/secp256k1/curve_mul.asm"), - include_str!("asm/secp256k1/curve_add.asm"), - include_str!("asm/secp256k1/moddiv.asm"), - include_str!("asm/secp256k1/lift_x.asm"), - include_str!("asm/secp256k1/inverse_scalar.asm"), include_str!("asm/ecrecover.asm"), include_str!("asm/rlp/encode.asm"), include_str!("asm/rlp/decode.asm"), @@ -90,7 +91,6 @@ mod tests { // Make sure we can parse and assemble the entire kernel. let kernel = combined_kernel(); - debug!("Total kernel size: {} bytes", kernel.code.len()); - dbg!("Total kernel size: {} bytes", kernel.code.len()); + info!("Total kernel size: {} bytes", kernel.code.len()); } } diff --git a/evm/src/cpu/kernel/asm/curve_add.asm b/evm/src/cpu/kernel/asm/curve/bn254/curve_add.asm similarity index 100% rename from evm/src/cpu/kernel/asm/curve_add.asm rename to evm/src/cpu/kernel/asm/curve/bn254/curve_add.asm diff --git a/evm/src/cpu/kernel/asm/curve_mul.asm b/evm/src/cpu/kernel/asm/curve/bn254/curve_mul.asm similarity index 92% rename from evm/src/cpu/kernel/asm/curve_mul.asm rename to evm/src/cpu/kernel/asm/curve/bn254/curve_mul.asm index d976d9d5..62cf2235 100644 --- a/evm/src/cpu/kernel/asm/curve_mul.asm +++ b/evm/src/cpu/kernel/asm/curve/bn254/curve_mul.asm @@ -99,16 +99,3 @@ odd_scalar: JUMPDEST // stack: x', y', x, y, retdest %jump(ec_add_valid_points) - -global ret_zero_ec_mul: - JUMPDEST - // stack: x, y, s, retdest - %pop3 - // stack: retdest - PUSH 0 - // stack: 0, retdest - PUSH 0 - // stack: 0, 0, retdest - SWAP2 - // stack: retdest, 0, 0 - JUMP diff --git a/evm/src/cpu/kernel/asm/moddiv.asm b/evm/src/cpu/kernel/asm/curve/bn254/moddiv.asm similarity index 100% rename from evm/src/cpu/kernel/asm/moddiv.asm rename to evm/src/cpu/kernel/asm/curve/bn254/moddiv.asm diff --git a/evm/src/cpu/kernel/asm/curve/common.asm b/evm/src/cpu/kernel/asm/curve/common.asm new file mode 100644 index 00000000..107dc63c --- /dev/null +++ b/evm/src/cpu/kernel/asm/curve/common.asm @@ -0,0 +1,12 @@ +global ret_zero_ec_mul: + JUMPDEST + // stack: x, y, s, retdest + %pop3 + // stack: retdest + PUSH 0 + // stack: 0, retdest + PUSH 0 + // stack: 0, 0, retdest + SWAP2 + // stack: retdest, 0, 0 + JUMP diff --git a/evm/src/cpu/kernel/asm/secp256k1/curve_add.asm b/evm/src/cpu/kernel/asm/curve/secp256k1/curve_add.asm similarity index 100% rename from evm/src/cpu/kernel/asm/secp256k1/curve_add.asm rename to evm/src/cpu/kernel/asm/curve/secp256k1/curve_add.asm diff --git a/evm/src/cpu/kernel/asm/secp256k1/curve_mul.asm b/evm/src/cpu/kernel/asm/curve/secp256k1/curve_mul.asm similarity index 100% rename from evm/src/cpu/kernel/asm/secp256k1/curve_mul.asm rename to evm/src/cpu/kernel/asm/curve/secp256k1/curve_mul.asm diff --git a/evm/src/cpu/kernel/asm/secp256k1/inverse_scalar.asm b/evm/src/cpu/kernel/asm/curve/secp256k1/inverse_scalar.asm similarity index 100% rename from evm/src/cpu/kernel/asm/secp256k1/inverse_scalar.asm rename to evm/src/cpu/kernel/asm/curve/secp256k1/inverse_scalar.asm diff --git a/evm/src/cpu/kernel/asm/secp256k1/lift_x.asm b/evm/src/cpu/kernel/asm/curve/secp256k1/lift_x.asm similarity index 100% rename from evm/src/cpu/kernel/asm/secp256k1/lift_x.asm rename to evm/src/cpu/kernel/asm/curve/secp256k1/lift_x.asm diff --git a/evm/src/cpu/kernel/asm/secp256k1/moddiv.asm b/evm/src/cpu/kernel/asm/curve/secp256k1/moddiv.asm similarity index 100% rename from evm/src/cpu/kernel/asm/secp256k1/moddiv.asm rename to evm/src/cpu/kernel/asm/curve/secp256k1/moddiv.asm