Skip to content

Commit

Permalink
opt: add opcode
Browse files Browse the repository at this point in the history
  • Loading branch information
eigmax committed Oct 21, 2023
1 parent 1fd1495 commit 1c85159
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/cpu/kernel/assembler.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
use crate::cpu::generation::MipsTrace;
#[derive(PartialEq, Eq, Debug, Serialize, Deserialize)]
pub struct Kernel {
pub(crate) code: Vec<u8>,
}

21 changes: 21 additions & 0 deletions src/generation/state.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
use std::collections::HashMap;

use ethereum_types::{Address, BigEndianHash, H160, H256, U256};
use keccak_hash::keccak;
use plonky2::field::types::Field;

use crate::cpu::kernel::aggregator::KERNEL;
use crate::cpu::kernel::constants::context_metadata::ContextMetadata;
use crate::generation::mpt::all_mpt_prover_inputs_reversed;
use crate::generation::rlp::all_rlp_prover_inputs_reversed;
use crate::generation::GenerationInputs;
use crate::memory::segments::Segment;
use crate::witness::errors::ProgramError;
use crate::witness::memory::{MemoryAddress, MemoryState};
use crate::witness::state::RegistersState;
use crate::witness::traces::{TraceCheckpoint, Traces};

pub(crate) struct GenerationState {
pub(crate) inputs: GenerationInputs,
pub(crate) traces: Traces<F>,
}
31 changes: 31 additions & 0 deletions src/witness/state.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
use crate::cpu::kernel::aggregator::KERNEL;

const KERNEL_CONTEXT: usize = 0;

#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct RegistersState {
pub program_counter: usize,
pub is_kernel: bool,
pub context: usize,
}

impl RegistersState {
pub(crate) fn code_context(&self) -> usize {
if self.is_kernel {
KERNEL_CONTEXT
} else {
self.context
}
}
}

impl Default for RegistersState {
fn default() -> Self {
Self {
// FIXME: fill in pc
program_counter: 0,
is_kernel: true,
context: 0,
}
}
}

0 comments on commit 1c85159

Please sign in to comment.