Skip to main content

Crate nub_flat_guest_x86

Crate nub_flat_guest_x86 

Source
Expand description

The flat guest personality: nub’s reference GuestPersonality, plugged into the generic guest kernel (nub-arch-x86).

This is the half that runs inside the KVM sandbox in ring 0, owns the per-frame page table, and drives the x86-64 JIT. It is what makes nub’s recompiler executable rather than merely emittable — without a GuestPersonality there is nobody to build a frame for the compiled code to run in.

Four pieces, which is the whole obligation. Plain code spans, not doc links: every one of these modules is cfg(target_os = "none") and therefore absent from the host doc build that cargo doc -D warnings gates on.

moduletraitwhat it decides
storeGuestStorehow a published object is decoded and named
memFrameMemwhere a data page comes from, and how CoW works
frameExecFramethe address-space layout handed to the JIT
personalityGuestPersonalityroot frame, gas policy, exit meaning

Host-visible surface: only test_abi; everything else is cfg(target_os = "none").

Modules§

test_abi
Flat-private test fn_ids (band >= 0x100). Always compiled — the host side needs the constants. Flat-private FN_ID constants.