6.1 Spec 1: VMU Interface

D3-TUI will use SPECTRE’s VMU interface for all VMU operations:

/* In d3tui_vmu.c */
maple_device_t *d3tui_vmu_get_device(const d3tui_vmu_addr_t *addr) {
    sh_vmu_addr_t sh_addr = {addr->port, addr->slot};
    return sh_vmu_at(sh_addr);
}

void d3tui_vmu_present(d3tui_vmu_manager_t *mgr, d3tui_vmu_addr_t addr) {
    sh_vmu_addr_t sh_addr = {addr.port, addr.slot};
    sh_vmu_present(&mgr->vmus[addr.port * 2 + addr.slot].fb, sh_addr);
}