riscemu.priv package
Submodules
- riscemu.priv.CSR module
- riscemu.priv.CSRConsts module
- riscemu.priv.ElfLoader module
- riscemu.priv.Exceptions module
- riscemu.priv.ImageLoader module
- riscemu.priv.PrivCPU module
- riscemu.priv.PrivMMU module
- riscemu.priv.PrivRV32I module
PrivRV32I
PrivRV32I.cpu
PrivRV32I.instruction_csrrw()
PrivRV32I.instruction_csrrs()
PrivRV32I.instruction_csrrc()
PrivRV32I.instruction_csrrsi()
PrivRV32I.instruction_csrrwi()
PrivRV32I.instruction_csrrci()
PrivRV32I.instruction_mret()
PrivRV32I.instruction_uret()
PrivRV32I.instruction_sret()
PrivRV32I.instruction_scall()
PrivRV32I.instruction_beq()
PrivRV32I.instruction_bne()
PrivRV32I.instruction_blt()
PrivRV32I.instruction_bge()
PrivRV32I.instruction_bltu()
PrivRV32I.instruction_bgeu()
PrivRV32I.instruction_j()
PrivRV32I.instruction_jal()
PrivRV32I.instruction_jalr()
PrivRV32I.instruction_sbreak()
PrivRV32I.parse_crs_ins()
PrivRV32I.parse_mem_ins()
- riscemu.priv.privmodes module
- riscemu.priv.types module
Module contents
RiscEmu (c) 2021 Anton Lydike
SPDX-License-Identifier: MIT
The priv Module holds everything necessary for emulating privileged risc-v assembly
Running priv is only preferable to the normal userspace emulator, if you actually want to emulate the whole system.
Syscalls will have to be intercepted by your assembly code.
The PrivCPU Implements the Risc-V M/U Model, meaning there is machine mode and user mode. No PMP or paging is available.