rv64im_min_sim.nx
buildroot/runtime/_hdl_build/rv64im_min_sim.nx
about
dependencies 14 imports · 40 importers
diagram shows first 10 each side; +4 more imports, +30 more importers in the complete lists below.
imports: nx_syscalls.nxnishi_hdl_primitives.nxrv64im_min_decoder.nxrv64im_min_alu.nxrv64im_min_regfile.nxrv64im_min_csr.nxrv64im_min_clint.nxrv64im_min_uart.nxrv64im_min_virtio.nxrv64im_min_nvme.nxrv64im_min_nndev.nxrv64im_min_mmu.nxrv64im_min_gpu.nxnx_rvc_expand.nx
imported by: _gpu_run.nx_nvme_diag.nxnx_bootcap.nxnx_cpu_rtype_exec_test.nxnx_emu_bench.nxnx_evo_isa_sov.nxnx_geneal_energy_sov.nxnx_isa_cf_sov.nxnx_isa_equiv_sov.nxnx_isa_loop_sov.nxnx_isa_run_sov.nxnx_isa_synth_sov.nxnx_nishios_window.nxnx_nxc_baremetal.nxnx_nxc_run.nxnx_rtype_control_mem_test.nxnx_rv64_amo_gate.nxnx_rv64_atomic_gate.nxnx_rv64_csr_trap_oracle.nxnx_rv64_fast_dev_gate.nxnx_rv64_fast_gate.nxnx_rv64_kernel_gate.nxnx_rv64_mmu_oracle.nxnx_rv64_qemu_fuzz.nxnx_rv64_qemu_oracle.nxnx_rv64_realc_gate.nxnx_rv64_run_bin.nxnx_rv64_sdeleg_oracle.nxnx_rv64_snapshot_gate.nxnx_rv64_timer_oracle.nxnx_rv64im_cpu_crosscheck.nxnx_simtcore.nxnx_simtcore_gate.nxrv64im_min_cpu_crosscheck.nxrv64im_min_elf_loader.nxrv64im_min_gfx_gate.nxrv64im_min_hot_report.nxrv64im_min_kernel_boot_smoke.nxrv64im_min_multi_tier_roi.nxrv64im_min_sim_smoke.nx
structs
| 56 | struct NxRv64imSim |
consts
| 120 | const NX_RV64IM_SIM_BYTES: i64 = 256 |
| 626 | const NX_ACC_FETCH: i64 = 0 |
| 627 | const NX_ACC_LOAD: i64 = 1 |
| 628 | const NX_ACC_STORE: i64 = 2 |
| 763 | const NX_MCAUSE_INT_MACHINE_TIMER: i64 = 0 - 9223372036854775801 // (1<<63)|7 |
| 764 | const NX_MCAUSE_EXC_ECALL_U: i64 = 8 // environment call from U-mode |
| 765 | const NX_MCAUSE_EXC_ECALL_S: i64 = 9 // environment call from S-mode |
| 766 | const NX_MCAUSE_EXC_ECALL_M: i64 = 11 |
| 767 | const NX_MCAUSE_EXC_ILLEGAL_INSTR: i64 = 2 |
| 768 | const NX_MCAUSE_EXC_INSTR_PAGE_FAULT: i64 = 12 // Sv39 instruction-FETCH walk fault |
| 769 | const NX_MCAUSE_EXC_LOAD_PAGE_FAULT: i64 = 13 // Sv39 data-load walk fault |
| 770 | const NX_MCAUSE_EXC_STORE_PAGE_FAULT: i64 = 15 // Sv39 data-store walk fault |
| 772 | const NX_MSTATUS_MIE_BIT: i64 = 0x08 // bit 3 |
| 773 | const NX_MSTATUS_MPIE_BIT: i64 = 0x80 // bit 7 |
| 774 | const NX_MSTATUS_MPP_MASK: i64 = 0x1800 // bits 11..12 |
| 775 | const NX_MIE_MTIE_BIT: i64 = 0x80 // bit 7 |
| 1241 | const NX_RV64IM_SNAP_HDR: i64 = 312 // (7 scalars + 32 GPRs) * 8 bytes |
functions
| 128 | func nx_rv64im_sim_init(s: *NxRv64imSim, |
| 180 | func nx_rv64im_sim_attach_virtio(s: *NxRv64imSim, virtio: *NxVirtioMmio) -> i64 |
| 189 | func nx_rv64im_sim_attach_virtio_net(s: *NxRv64imSim, virtio_net: *NxVirtioMmio) -> i64 |
| 199 | func nx_rv64im_sim_attach_nvme(s: *NxRv64imSim, nvme: *NxNvmeCtrl) -> i64 |
| 209 | func nx_rv64im_sim_attach_nndev(s: *NxRv64imSim, nndev: *NxNnDev) -> i64 |
| 218 | func nx_rv64im_sim_attach_gpu(s: *NxRv64imSim, gpu: *NxGpu) -> i64 |
| 227 | func nx_rv64im_sim_attach_mmu(s: *NxRv64imSim, mmu: *NxMmu) -> i64 |
| 239 | func nx_rv64im_sim_enable_pc_cycles(s: *NxRv64imSim, |
| 255 | func nx_rv64im_sim_pc_cycles_at(s: *NxRv64imSim, pc: i64) -> i64 |
| 268 | func nx_rv64im_sim_pc_cycles_topn(s: *NxRv64imSim, n: i64, |
| 308 | func nx_rv64im_sim_load8(s: *NxRv64imSim, addr: i64) -> i64 |
| 327 | func nx_rv64im_sim_load16(s: *NxRv64imSim, addr: i64) -> i64 |
| 339 | func nx_rv64im_sim_load32(s: *NxRv64imSim, addr: i64) -> i64 |
| 416 | func nx_rv64im_sext8(v: i64) -> i64 |
| 421 | func nx_rv64im_sext16(v: i64) -> i64 |
| 427 | func nx_rv64im_sim_load64(s: *NxRv64imSim, addr: i64) -> i64 |
| 451 | func nx_rv64im_sim_store64(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 473 | func nx_rv64im_sim_store8(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 487 | func nx_rv64im_sim_store16(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 499 | func nx_rv64im_sim_store32(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 619 | func nx_rv64im_is_device(addr: i64) -> i64 |
| 635 | func nx_rv64im_xlate(s: *NxRv64imSim, vaddr: i64, access: i64) -> i64 |
| 675 | func nx_rv64im_sim_alu_select(op_kind: i64, funct3: i64, funct7: i64) -> i64 |
| 777 | func nx_rv64im_sim_take_trap(s: *NxRv64imSim, cause: i64, mepc_val: i64) -> i64 |
| 820 | func nx_rv64im_sim_mret(s: *NxRv64imSim) -> i64 |
| 843 | func nx_rv64im_sim_sret(s: *NxRv64imSim) -> i64 |
| 858 | func nx_rv64im_csr_addr(inst: i64) -> i64 |
| 867 | func nx_rv64im_sim_step(s: *NxRv64imSim) -> i64 |
| 1223 | func nx_rv64im_sim_run(s: *NxRv64imSim, max_steps: i64) -> i64 |
| 1243 | func nx_snap_wr64(b: *u8, off: i64, v: i64) -> i64 { var i: i64=0; while i<8 { b[off+i]=((v>>(i*8))&0xff) as u8; i=i+1 } return 0 } |
| 1244 | func nx_snap_rd64(b: *u8, off: i64) -> i64 { var v: i64=0; var i: i64=0; while i<8 { v=v|((b[off+i] as i64)<<(i*8)); i=i+1 } return v } |
| 1246 | func nx_rv64im_sim_snapshot(s: *NxRv64imSim, buf: *u8) -> i64 |
| 1262 | func nx_rv64im_sim_restore(s: *NxRv64imSim, buf: *u8) -> i64 |