Skip to content

Modules

Lince is structured as a stack of CMake static libraries with strict unidirectional dependencies. Each module page below covers what lives in that target, what it depends on, and the public API it exposes.

Module Page Role
lince_interfaces interfaces Strong types, Result<T>, all I* contracts
lince_core core SPARC V8 ISA, CpuState, decoder, trap dispatch
lince_bus bus Ram, SystemBus, big-endian routing
lince_peripherals peripherals IRQMP, GPTimer, APBUart, MemCtrl
lince_runtime runtime Emulator, scheduler, ELF loader, GDB stub
lince_defaults defaults StdoutLogger, StdoutCharDevice, NullFaultInjector
lince_app app The lince-emu CLI

For a global view of how the layers fit together, see architecture/layers. For per-class API documentation, see the auto-generated C++ API reference.