rv64im_min_sim.nx
buildroot/runtime/_hdl_build/rv64im_min_sim.nx
about
dependencies 14 imports · 39 importers
diagram shows first 10 each side; +4 more imports, +29 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_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
| 601 | const NX_ACC_FETCH: i64 = 0 |
| 602 | const NX_ACC_LOAD: i64 = 1 |
| 603 | const NX_ACC_STORE: i64 = 2 |
| 733 | const NX_MCAUSE_INT_MACHINE_TIMER: i64 = 0 - 9223372036854775801 // (1<<63)|7 |
| 734 | const NX_MCAUSE_EXC_ECALL_U: i64 = 8 // environment call from U-mode |
| 735 | const NX_MCAUSE_EXC_ECALL_S: i64 = 9 // environment call from S-mode |
| 736 | const NX_MCAUSE_EXC_ECALL_M: i64 = 11 |
| 737 | const NX_MCAUSE_EXC_ILLEGAL_INSTR: i64 = 2 |
| 738 | const NX_MCAUSE_EXC_INSTR_PAGE_FAULT: i64 = 12 // Sv39 instruction-FETCH walk fault |
| 739 | const NX_MCAUSE_EXC_LOAD_PAGE_FAULT: i64 = 13 // Sv39 data-load walk fault |
| 740 | const NX_MCAUSE_EXC_STORE_PAGE_FAULT: i64 = 15 // Sv39 data-store walk fault |
| 742 | const NX_MSTATUS_MIE_BIT: i64 = 0x08 // bit 3 |
| 743 | const NX_MSTATUS_MPIE_BIT: i64 = 0x80 // bit 7 |
| 744 | const NX_MSTATUS_MPP_MASK: i64 = 0x1800 // bits 11..12 |
| 745 | const NX_MIE_MTIE_BIT: i64 = 0x80 // bit 7 |
| 1211 | const NX_RV64IM_SNAP_HDR: i64 = 312 // (7 scalars + 32 GPRs) * 8 bytes |
functions
| 103 | func nx_rv64im_sim_init(s: *NxRv64imSim, |
| 155 | func nx_rv64im_sim_attach_virtio(s: *NxRv64imSim, virtio: *NxVirtioMmio) -> i64 |
| 164 | func nx_rv64im_sim_attach_virtio_net(s: *NxRv64imSim, virtio_net: *NxVirtioMmio) -> i64 |
| 174 | func nx_rv64im_sim_attach_nvme(s: *NxRv64imSim, nvme: *NxNvmeCtrl) -> i64 |
| 184 | func nx_rv64im_sim_attach_nndev(s: *NxRv64imSim, nndev: *NxNnDev) -> i64 |
| 193 | func nx_rv64im_sim_attach_gpu(s: *NxRv64imSim, gpu: *NxGpu) -> i64 called by 1: main |
| 202 | func nx_rv64im_sim_attach_mmu(s: *NxRv64imSim, mmu: *NxMmu) -> i64 |
| 214 | func nx_rv64im_sim_enable_pc_cycles(s: *NxRv64imSim, |
| 230 | func nx_rv64im_sim_pc_cycles_at(s: *NxRv64imSim, pc: i64) -> i64 |
| 243 | func nx_rv64im_sim_pc_cycles_topn(s: *NxRv64imSim, n: i64, |
| 283 | func nx_rv64im_sim_load8(s: *NxRv64imSim, addr: i64) -> i64 |
| 302 | func nx_rv64im_sim_load16(s: *NxRv64imSim, addr: i64) -> i64 called by 1: nx_rv64im_sim_step |
| 314 | func nx_rv64im_sim_load32(s: *NxRv64imSim, addr: i64) -> i64 |
| 391 | func nx_rv64im_sext8(v: i64) -> i64 called by 1: nx_rv64im_sim_step |
| 396 | func nx_rv64im_sext16(v: i64) -> i64 called by 1: nx_rv64im_sim_step |
| 402 | func nx_rv64im_sim_load64(s: *NxRv64imSim, addr: i64) -> i64 |
| 426 | func nx_rv64im_sim_store64(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 448 | func nx_rv64im_sim_store8(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 462 | func nx_rv64im_sim_store16(s: *NxRv64imSim, addr: i64, value: i64) -> i64 called by 1: nx_rv64im_sim_step |
| 474 | func nx_rv64im_sim_store32(s: *NxRv64imSim, addr: i64, value: i64) -> i64 |
| 594 | func nx_rv64im_is_device(addr: i64) -> i64 called by 1: nx_rv64im_xlate |
| 610 | func nx_rv64im_xlate(s: *NxRv64imSim, vaddr: i64, access: i64) -> i64 called by 1: nx_rv64im_sim_step calls 7: nx_rv64im_csr_readnx_rv64im_is_devicesys_mmapnx_sv39_walknx_mmu_inrangenx_mmu_rd64+1 |
| 650 | func nx_rv64im_sim_alu_select(op_kind: i64, funct3: i64, funct7: i64) -> i64 |
| 747 | func nx_rv64im_sim_take_trap(s: *NxRv64imSim, cause: i64, mepc_val: i64) -> i64 |
| 790 | func nx_rv64im_sim_mret(s: *NxRv64imSim) -> i64 |
| 813 | func nx_rv64im_sim_sret(s: *NxRv64imSim) -> i64 |
| 828 | func nx_rv64im_csr_addr(inst: i64) -> i64 called by 1: nx_rv64im_sim_step |
| 837 | func nx_rv64im_sim_step(s: *NxRv64imSim) -> i64 |
| 1193 | func nx_rv64im_sim_run(s: *NxRv64imSim, max_steps: i64) -> i64 |
| 1213 | 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 } called by 1: nx_rv64im_sim_snapshot |
| 1214 | 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 } called by 1: nx_rv64im_sim_restore |
| 1216 | func nx_rv64im_sim_snapshot(s: *NxRv64imSim, buf: *u8) -> i64 |
| 1232 | func nx_rv64im_sim_restore(s: *NxRv64imSim, buf: *u8) -> i64 |