dart_emu_io library

Platform-dependent extensions for dart_emu that require dart:io.

Provides file-based configuration loading and file-backed block devices. Use package:dart_emu/dart_emu.dart for the platform-independent API.

Classes

BlockDevice
Interface for block-level storage devices (e.g. disk images).
CharacterDevice
Interface for character-oriented I/O devices (e.g. serial console).
Clint
ConfigLoader
Loads MachineConfig from YAML configuration files or strings.
ConfigResolver
Resolves file-path references in a MachineConfig to in-memory data and concrete block device instances.
CpuExecutor
DeviceRange
DriveConfig
Configuration for a VirtIO block device backed by a file.
Emulator
Facade for the DartEMU RISC-V emulator.
EthernetConfig
Configuration for a VirtIO network device.
EthernetDevice
Interface for a network backend attached to a VirtIO net device.
FileBlockDevice
A BlockDevice backed by a file on disk.
FilesystemConfig
Configuration for a VirtIO 9P shared filesystem.
Htif
IrqSignal
MachineConfig
Configuration for a RISC-V virtual machine instance.
MemoryBlockDevice
A BlockDevice backed by an in-memory byte buffer.
MemoryMapLayout
PhysMemoryMap
PhysMemoryRange
Plic
RamRange
RiscVCpuState
RiscVMachine
A RISC-V virtual machine supporting both RV64 and RV32.
UserNetDevice
User-mode network device implementing EthernetDevice.

Enums

EmulatorStatus
Lifecycle states of an Emulator instance.
PrivilegeLevel
Xlen
Register width for the RISC-V CPU.

Typedefs

DeviceReadFunc = int Function(int offset, int sizeLog2)
DeviceWriteFunc = void Function(int offset, int value, int sizeLog2)
FlushTlbWriteRangeCallback = void Function(Uint8List ramAddr, int ramSize)
PowerDownCallback = void Function()
SetIrqCallback = void Function(int irqNum, int level)

Exceptions / Errors

ConfigException
Exception thrown when machine configuration parsing fails.