summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* vgsp: sema_gl_idx_reloc knob (idx-buffer/vertex-stream shadow-VA relocation, ↵Arthur Hanson Rasmusson9 hours
| | | | default 0 = r1035-r1041 set), win_drop lo-hi ranges, engine-entry logging (e0/e1 in GR LAUNCH, ring[3] in poll break) - entry encoding IDENTICAL X vs beef (e0=0x00101000); discriminator = raw operand VA in window content faulting GR once and wedging ladder (cwd0=badf1201, fecsirq=0x10); next: relocate CALL_MME_DATA(j)=0x3804+j*8 operands + wedge recovery - SESSION 153 r1042-r1057
* vgsp: 3D flush gate fix (built-in chunk bound, not bisect knob), pushzero ↵Arthur Hanson Rasmusson11 hours
| | | | zero-content rescue (probe PROMOTE_CTX, src=9), CHUNK1 dump, SET_INDEX_BUFFER+vertex-stream collection; publish GPFIFO entry at engine GP_GET (PUT-GET=1); win_drop 0x parser fix - beef chunks still PBDMA-stop at 0x1160 attr run (hdr=20030458 INC m=0x1160 cnt=3) while X retires ch_rel=0xc0ffee02 same boot - SESSION 153 r1034-r1041
* vgsp: 3D stream chunking for client pushes - GR push words 512->2048, ↵Arthur Hanson Rasmusson12 hours
| | | | candidates 4->8, method-aligned <=384-word chunks in ring order with 8-pending backpressure (sema_gl_chunk_words knob), zero-head guard, PBDMA chunk-end fault fix, 3DSTREAM dump; first client src=stream capture (h=0xbeef0100 push=0x54eefd4 len=1580 nprog=2 recs=2), ch_rel=0xc0ffee02 submitted; beef windows still don't retire (scheduler stall vs X retiring same boot) - SESSION 153 r1028-r1033
* vgsp: zero-put-skip for GR chan userd (fixes r1025 poisoned latch; ↵Arthur Hanson Rasmusson13 hours
| | | | submissions regression FIXED 32501/33646), revert op-translate walk-first (oops with flowing submissions; keep fill walk), NEW sema_screen_blit param - present blit PROVEN byte-exact (src=0x130e38000 spitch=1200 w=300 h=300 -> off=0x200000 rows_done=300 rc=0; window md5 b237eb04->4b751df8); remaining: client draws must execute (GR LAUNCH FAILED timeout ch_rel=0x00000000 want=0xc0ffee02, zero src=stream) - SESSION 153 r1026-r1027
* vgsp: op-translate + fill floor walk-first for below-floor (sub-1TiB) VAs ↵Arthur Hanson Rasmusson14 hours
| | | | via guest page tables - kills LOWFILL-REFUSED va=0x120458c00 pa=0x120458c00 that froze DDX screen repaints (fresh boot: fills done=3686400 rc=0, LOWFILL-REFUSED=0); xwd path proven byte-exact vs vidmem 0x200000 fill artifact; window still black (client re-presents static frame; no client content in vidmem); r1025 beef0100 pump regression (GPFIFO va=0xa0d8f54 all-zero, submissions=0 vs 208) - SESSION 153 r1024-r1025
* vgsp: svc_client_slot_sweep - per-pass (~2ms) clear of armed 0xffff ↵Arthur Hanson Rasmusson15 hours
| | | | completion slots for live beef channels; attempts now submit heavily (submissions 29->208, GP_PUT advancing put=14, sema-consume idx=94 put=95, ops_runs=2, copyent total=131068); client shim frames have content (mean_sum=60.8 nz_frac=0.2843); remaining wall = X presentation (DDX black fill va=0x120400000 vs client copy dst=0x4700000) - SESSION 153 r1024
* vgsp: sema_client_slot - clear armed 0xffff completion slots below ↵Arthur Hanson Rasmusson15 hours
| | | | beef-family channel-notifier base in svc_notify_complete; first real client submissions (submissions=29, sema-pushall h=0xbeef0100 va=0x421f758 len=1720 allow=1 trusted=1); attempt still recycles ~12s - SESSION 153 r1023
* vgsp: apply userdOffset[subDeviceId] to channel USERD addr (real control ↵Arthur Hanson Rasmusson17 hours
| | | | page fb 0x20fc00, not 0x18fe00); low-aperture 0x4000000-class entry window; GR-ring USERD probe accepts g>p/put-cap>1024; own-VAS-first counter derive - USERD wall broken (chan h=0xbeef0100 userd=0x20fc00 as=2 ring rc=0 pa=0x233603000); new wall: client never stores GP_PUT (put=0, FB 0x20fc00+0x8c frozen; last RM call ZCULL_BIND 0x20801208) - SESSION 153 r1016
* site: add Project Plan page (phases, gates, workstreams, next steps) + ↵Arthur Hanson Rasmusson17 hours
| | | | navigation entries; published to open-iov.org (68 pages, 0 problems)
* site: 2026-10-30 wiki refresh - new Project Goals, Performance and ↵Arthur Hanson Rasmusson17 hours
| | | | Interfaces and Stability pages; GSP explainer expanded (bare-metal behaviour + the two emulation modes); graphics pages (Graphics Execution, OpenGL, Vulkan, DirectX) with two new diagrams; status refresh across 15 pages; canonical docs updated (README status table, purpose-and-scope, performance contract); published to open-iov.org (67 pages, 0 problems)
* vgsp: FB USERD scan time-paced (1/25ms, cap 512) + pristine fallback for ↵Arthur Hanson Rasmusson17 hours
| | | | ring_pa==0 - fixes fresh-boot Xorg 10s DMA-init wall (2/2 boots green, DDX channel sub=3402, TWOD fills execute) - SESSION 153 r1014-r1015
* STATE-CURRENT: refresh snapshot - arc since SESSION 143: CUDA ring-claim fix ↵Arthur Hanson Rasmusson18 hours
| | | | (41343c63), X/GL wall broken (fffae7b1) + RC-watchdog/VAS fixes, R18 CUDA-animation + two-VM GZDoom videos delivered, direct-GL-client channel gate root-caused (memfd slot bit0) and fixed by the kernel keeper (a64169db); walls = fresh-boot Xorg DMA-init, client PUT visibility, pixels (all captures black)
* vgsp: svc_shared_hold - kernel keeper clears bit0 of the GL shared-state ↵Arthur Hanson Rasmusson18 hours
| | | | slot word (sema_shared_hold_pa); validated live (held pa=0x279b01000 word -> 0x2); with hold: client allocs c46f (hObject=0xbeef0100/0101/0102), readback err 502->0, window md5 changes (mean 2.69,2.68,4.02, nz_frac=0.0172) - SESSION 153 r1012-r1013
* vgsp: BAR0-shadow aperture userd probe + full PCFG-window (0x88000-0x89000) ↵Arthur Hanson Rasmusson19 hours
| | | | doorbell dispatch - built/live r1011; measurement falsified BAR0-USERD premise for client GP_PUT (shadows static, only pos=0x88704 traps); X channel sub=60 via kick-family RAM watch - SESSION 153 r1011
* vgsp: RUSD INIT_USER_SHARED_DATA (0x20800afe) handler + gsp-phys-shared-bit0 ↵Arthur Hanson Rasmusson32 hours
| | | | knob - direct client channel alloc gate broken open (c46f hObject=0xbeef0101, err@ReadPixels=0x0 px=255,0,255,0) - SESSION 153 r999-r1002
* vgsp: full-frame strip assembly (origins+per-channel CE state, delta push ↵Arthur Hanson Rasmusson34 hours
| | | | fold), FERMI_TWOD executor (screen fills rc=0), RT-as-screen surface alias + win-drop auto, client replay retires (faulted=0, GR forward failed=0) - SESSION 153 r984-r997
* vgsp: BAR0 0x88000-0x89000 all-writes logging - decisive negative: GL client ↵Arthur Hanson Rasmusson40 hours
| | | | owns no channel, no command buffer; kicks on 0xbfef0002 are Xorg's (SESSION 153 r983)
* vgsp: canonical kick-push guard + anchor rescue chain + ring+0x20b0 notify ↵Arthur Hanson Rasmusson41 hours
| | | | targeting + per-handle notify cache - exec lane 48/48 continuous (SESSION 153 r977-r982)
* vgsp: kick USERD watch table 64 + adopt-on-PUT-step + churn monitor + ↵Arthur Hanson Rasmusson42 hours
| | | | FB->SYS notify retry - frozen alternation solved (SESSION 153 r974-r976)
* vgsp: kick-family USERD acceptance + ring revalidate + notify event post - ↵Arthur Hanson Rasmusson42 hours
| | | | notify lane executes (n=512), client c46f/c597 allocs appear (SESSION 153 r972/r973)
* vgsp: kick NOTIFY execution (sema_kick_notify; completion word authored + ↵Arthur Hanson Rasmusson43 hours
| | | | readback verified) + notify2d witness + kick probe (SESSION 153 r971)
* vgsp: binapi07_rep knob - BINAPI 0x20810107 feature flag authored (glcore ↵Arthur Hanson Rasmusson44 hours
| | | | method-emission gate); kick notify lane next (SESSION 153 r965)
* vgsp: chan alloc/refusal diagnostics (PROMOTE_CTX probe benign); ↵Arthur Hanson Rasmusson45 hours
| | | | attribution: r958 windows were Xorg init; harness DISPLAY regression fixed; init window retires 2 consecutive cycles (SESSION 153 r962)
* vgsp: sked fe0/fehost/fecsirq lanes + FECS post-mortem readback + ↵Arthur Hanson Rasmusson45 hours
| | | | sema_gl_win_patch knob (SESSION 153 r959-r961)
* vgsp: per-channel C597 attachment table, sema_gl_win_drop strip knob, ↵Arthur Hanson Rasmusson46 hours
| | | | WINPROBE; strip experiment: binds-only windows retire, full draws die in FECS switch-in (SESSION 153 r955-r958)
* vgsp: PB-FAULT-DUMP + pb block preservation (warm-sem probe off=0x800), ↵Arthur Hanson Rasmusson46 hours
| | | | attach-on-BEGIN; init replay retires ch_rel=0xc0ffee02; draw windows remain unreleased (SESSION 153 r951-r954)
* vgsp: staged program delivery (V3 SPH accepted by engine, 0 SPH faults/40 ↵Arthur Hanson Rasmusson47 hours
| | | | launches), inline bytes 256, per-VA typed slots (SESSION 153 r947-r950)
* vgsp: sticky C597 attachment + BEGIN recognizer + draw-scan window; draws ↵Arthur Hanson Rasmusson2 days
| | | | captured and replayed on 3D lane (engine reaches program header validation); guest-page blob delivery; two mdevs coexist (SESSION 153 r944-r946)
* vgsp: CE_M_PITCH_IN batched fold (pitch_out/line_length from count-3 run) - ↵Arthur Hanson Rasmusson2 days
| | | | 2D copies execute; client draw pushes with real C597 geometry now flow (SESSION 153 r943)
* vgsp: CE semaphore-release decode fix (count>=2 folds v1) - DDX sem-wait ↵Arthur Hanson Rasmusson2 days
| | | | completion authored; xwd -root unblocked (SESSION 153 r942)
* vgsp: USERD allocation-locality gate (ring+/-64MB), sema-sw window, ↵Arthur Hanson Rasmusson2 days
| | | | kick-family pubadv arm - true ring confirmed; no draw submissions exist (SESSION 153 r941)
* vgsp: GL section arrival ledger (sema-glass) + denied-copy serving ↵Arthur Hanson Rasmusson2 days
| | | | (sema_serve_denied); no new GL content after init measured (SESSION 153 r939)
* vgsp: USERD rejection memory + re-arm (kick tracking continuous at 142-153 ↵Arthur Hanson Rasmusson2 days
| | | | FPS; r938) (SESSION 153)
* vgsp: native publish-counter advance (sema_pub_adv; full-RAM content ↵Arthur Hanson Rasmusson2 days
| | | | discovery of publish pages) - glxgears 120-148 FPS with no external pokes (SESSION 153 r936)
* vgsp: native >6GiB client page resolution (PA ceiling to scan_top), kick ↵Arthur Hanson Rasmusson2 days
| | | | 2D-notifier release decode, zero_nop bound (SESSION 153 r933/r934)
* vgsp: 3D method-stream replay lane (verbatim C597 window + shadow relocation ↵Arthur Hanson Rasmusson2 days
| | | | + release tail; engine retires real 3D methods, no QMD) (SESSION 153 r932)
* vgsp: mode-35 plan-F 3D class object accepted on V7; GL client C597 ↵Arthur Hanson Rasmusson2 days
| | | | section-open + draw-synth path; push dumps (SESSION 153 r923-r926)
* vgsp: USERD liveness latch (speculative+confirm/reject), push content-anchor ↵Arthur Hanson Rasmusson2 days
| | | | scan, PA ceiling to scan_top, release-group matching (SESSION 153: M-GL1.2 PASS r922)
* vgsp: sysmem GR USERD RAM scan (sliced, ring-entry validated) + ↵Arthur Hanson Rasmusson2 days
| | | | unreadable-push demand regex (SESSION 153 WIP: liveness latch pending)
* vgsp: GL ring scan fixed (ring-own-offset entries, either-side window, ↵Arthur Hanson Rasmusson2 days
| | | | va1==va0; scan top param) + ring VA demand regex (SESSION 153)
* vgsp GL path: widened pin prefixes, ring-scan PROMOTE_CTX ordering evidence, ↵Arthur Hanson Rasmusson2 days
| | | | graphics-execution plan (SESSION 153)
* tools/guest-diag: working guest-GL capture and input for virtio-gpu virgl ↵Arthur Hanson Rasmusson2 days
| | | | guests (SDL swap-hook capture; XSendEvent input - SDL ignores XTEST here; region capture, focus query, window resize)
* tools/guest-diag: guest frame capture + input driving for the two-VM GZDoom ↵Arthur Hanson Rasmusson3 days
| | | | video (Xvfb XGetImage capture, SDL present shim, window resize, XTEST input, QGA range fetch)
* tools: r18 GPU animation + QGA guest-file fetch - forwarded kernels must fit ↵Arthur Hanson Rasmusson3 days
| | | | ONE 4 KB code page (SESSION 150)
* vgsp: engine executes synthesized GL launches - inline upload applies + real ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | | | SASS path (SESSION 149 r891) - svc_gl_flush applies the section read upload list via svc_grce_inline_write; walker pairs subch0 0x180->0x1b0 runs on eng==0 channels and applies on sight (19/19 applied; once-only (push,hash,dst,bytes) dedupe). - sema_gl_prog_hex param + source priority trusted VA read > prog-hex > bounded LID fallback (12 B). - Evidence (r891): code64 = real sm_75 SASS (nvcc-assembled EXIT;NOP cubin); engine writes qmd_rel=0x600df00d ~500 ms after submit (executed + retired); 0 Illegal-Instruction lines (r890: 7). Completion still declared failed (rc=-110; ch_rel witness unwritten) -> SYNTH-FAULT + SW release; bounded. Feature gated by sema_gl_xlate (default off).
* vgsp: synthesized GL launch passes SKEDCHECK - bounded LID blob + QMD ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | | | scheduling fields (SESSION 149 r889) - svc_gl_field 0x1b0: skip LAUNCH_DMA cfg word; bound the inline blob by the run's own word count (blob 64 -> 12 B, no over-read of following methods). - svc_gl_flush QMD fields: CTA dims 1/1/1 (w12-14), w18=0x00010023, w19=0x00010001, w20=0x00001a00 (REGISTER_COUNT from the stream's own REGISTER_COUNT(1) method), barrier bit w29, SASS_VERSION 7.5 (w31), driver cache-control block (w5). - Evidence (r889): SKEDCHECK06/16 zero occurrences; 'GR LAUNCH submitted shadow=1 words=239'; SM decodes; FAULT-CAP code_src=win0 ok=1; bounded action=proceed + SW release (no stall). Next wall: Illegal Instruction Encoding (program content not yet materialized). Gated by sema_gl_xlate.
* vgsp: GL section capture + synthesized launch reaches the engine (SESSION ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | | | | | | 149 r888) - M1.1a: preserve the bracketing release across the section-open reset; allow hash-verified replay capture (exactly-once guard). First trusted pass now captures the GL setup section (push=0x120010004, prog=0x121201b00, rel=0x120001000, replay=0). - M1.1b: per-channel ring scan 16->24 slices + put-triggered keep-alive. - M2-S1: booter skips w48 Tier-1 when shadow_win0 is set; flush attaches the observed LID payload as an inline record. - Evidence (r888): 'qmd_word 48 page copied to window-0 shadow'; 'GR LAUNCH submitted pages=5 shadow=1 qmdwin=0x108000'; FAULT-CAP code_src=win0, code64 non-zero, FAULT_PDE count=0 (engine fetched the shadowed code). - Remaining wall: SKEDCHECK06_REGISTER_COUNT + SKEDCHECK16_CTA_THREAD_DIM_ZERO (synthesized QMD scheduling fields) -> bounded fail + SW release. Feature gated by sema_gl_xlate (default off).
* tools/guest-diag: fbcopy_pub maps BAR1 at any offset (nonzero-offset mmaps ↵Arthur Hanson Rasmusson3 days
| | | | work on this mdev; offset-0 64 MB window fallback kept, pread beyond window) - SESSION 149
* vgsp: GL pushbuffer readability - eng==0 ring-window pairing + bounded ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | sysmem PDB probe (SESSION 149 r882) - svc_pb GR namespace + svc_pb_gr_done: pair eng==0 (GL/X) channel ring windows from the content-verified ring pair; entries consumed only by the untrusted read source (src=3, last resort). CE/CUDA paths untouched. - Bounded sysmem phase added to the X-VAS PDB discover probe (vidmem sweep unchanged); accepted but inert on r882 (map cap; no candidate root). - Evidence (r882): GL channel h=0x1000013 rc=-2 572 -> 0; ring window paired va=0x120090000 -> pa=0x104ad7000; drain pb=2/48 (was 0/48); decoded bytes byte-identical to the vidmem shadow; no CE/CUDA regressions; host clean.
* vgsp: xw-mirror page-reuse guards + submit-status clearer scaffold (SESSION ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | | 148 r873) The unguarded 3 ms mirror loop kept writing the count law into its latched page after the guest had reused it (r872 evidence: guest 'Bad page map ... pmd:102656067' pointing at exactly the mirrored page's PA as another process's PTE table). The loop now latches the progress word's base bits and stops permanently when they change or are zeroed, and re-checks the counter object's signature every 64th tick. New sema_xw_comp parameter + vgsp-xwcomp kthread can clear a submit member's armed 0x8000 status (value 0 pattern only); r874 proved an unverified clear into a false member kills Xorg within seconds, so it stays uninjected until the member address is watched live.