Project · Symbolics Genera

Mission

The Symbolics Lisp machine as the whole computer: Genera boots from UEFI on an ordinary laptop and owns every core and every device. No Linux underneath.

The idea

Genera runs today in the VLM, the Ivory emulator, on top of Linux or macOS. This project removes the host operating system. A small runtime takes over the machine from the firmware, gives one processor core entirely to the emulator, and runs all device drivers on the other cores, where Genera reaches them through the VLM's existing shared-memory channels.

One machine, several processors

CORE 0EmulatorIvory emulation, nothing else
CORE 1 · THREAD 0I/O processorscreen, keyboard, disk, Wi-Fi
CORE 1 · THREAD 1USB processorkeyboards, storage, network, cameras
CORES 2–3Service processorsnative code on Genera's behalf

In the spirit of the Lisp machines' front-end and I/O processors: Genera computes, the auxiliary processors serve it.

Highlights

The emulator moves over unchangedThe generated x86-64 Ivory emulator needs no operating system; only a thin layer of C around it is ported.
Genera keeps its own network stackThe I/O processor carries Ethernet frames and runs Wi-Fi and WPA2; Genera does IP and TCP itself, as it always has.
Native services for GeneraCryptography for SSH and TLS, compression and image processing run as native code, behind an interface every VLM can offer.
Code for the auxiliary processors from GeneraDrivers and services start in Rust; later, Genera compiles a Common Lisp subset to x86-64 for those processors itself.
Full insight from GeneraDiagnostic services show every processor, device, counter and log line, and change the configuration, from a Lisp Listener.
Graphics with hardware behind itDrawing moves from emulated Lisp to a native renderer, in full color; the GPU's display engine, blitter and 3D pipeline follow.
Power managed by GeneraLid, battery and idle policies set from Genera, suspend with quick wake-up, and hibernation to disk.
Virtual machines under GeneraA modern web browser in a Genera window: guest systems run on the service cores, fully isolated, with display, network and sound.
SoundThe laptop's speakers, headset and microphones, for Genera and for its virtual machines.
Processors kept apartEach processor sees only the memory its work needs, native services cannot write past their own results, and every device's DMA is fenced in.
Built to reach more machinesMachine specifics live in a description plus a small set of drivers; standard hardware is shared across laptops.

First target

Lenovo ThinkPad T490s. Genera boots from the internal drive, draws on the internal panel, reads the keyboard and TrackPoint, joins Wi-Fi networks, accepts USB devices, and manages power as Genera tells it to: lid and battery policies, suspend with quick wake-up, and hibernation to disk.

Wi-Fi is the largest single piece of work; everything else on this machine is standard hardware.

Road map

Thirteen steps lead from Genera on the laptop's firmware to virtual machines under Genera; the sixth, power management, completes the first target. The road map shows each step with its state: done, in progress or to do.

How it gets built

Every piece runs elsewhere before it runs on bare metal: drivers in emulated hardware first, then against the laptop's real devices from inside Linux, and only then on the bare machine, in boot attempts that log through every channel available and fall back to Linux by themselves.