Skip to content

Expose x86 KVM state and execution control for PC guests - #210

Merged
Vbitz merged 3 commits into
mainfrom
agent/nt31-kvm
Sep 13, 2026
Merged

Vbitz merged 3 commits into
mainfrom
agent/nt31-kvm

Conversation

@Vbitz

@Vbitz Vbitz commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Expose x86 KVM execution and architectural state so trex can supply PC firmware and devices and boot NT 3.1 in process. This is the hypervisor dependency of tinyrange/trex#37.

  • Add the X86 interface and portable register records, shared RAM-region mapping, I/O/MMIO exits and completion, IRQ delivery, interrupt-controller state and cancellation.
  • Add Linux/amd64 KVM bindings for architectural state and execution breakpoints, plus an unsupported-platform implementation.
  • Keep BIOS, storage and display semantics in the caller; trex implements those devices.

Validation completed during implementation: the focused x86 KVM real-mode interrupt/execution test and trex backend/device tests passed. Fresh NT 3.1 VGA and RAM-display images booted; Notepad, the Security dialog and Win16 Write worked. The browser integration was also verified with Firefox. The initial supported host is Linux/amd64 with KVM.

Recipes and integration smokes: https://github.com/tinyrange/tinyrangex/pull/67. Merge this dependency before trex #37, then the recipe PR.

@Vbitz
Vbitz added this pull request to the merge queue Sep 13, 2026
Merged via the queue into main with commit cbc2f81 Sep 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant