fix roi bar controller integration#80
Conversation
4756661 to
de6d230
Compare
|
every audio build: bar_controller.sv.tmpl declares hda_tlp_tx_{tdata,tkeepdw,tvalid,tlast,tuser} but not hda_tlp_tx_tready. it's only used (~842) and assigned (~1183), so under `default_nettype none it errors "signal not found". one-line wire fix, verified locally, all 9 audio cells go green. worth pointing your ai at: go test and vet pass on both our machines, but only hdl-lint.sh caught it. the go verilator sims test blocks in isolation and never elaborate the full audio controller as --top-module. good one for your ai to reason about closing (a top-level elaboration per device class?) so full-controller structural bugs stop slipping past go test. fwiw on 5.048 one new test fails on a dotted tlps_ur.source modport ref its dut makes. 5.032 allows it. not firmware. please also ask for a comprehensive sv analysis and bug fix for this branch. |
… reference Batch 1 from comparison with 16SalomonArs/Pcileech-DMA-NVMe-VMD (per-area, base-independent): - SMART: live Critical Warning byte (temp>=343 sets bit1, media errors bit2); temperature sensors at dword idx 50/51; cumulative warning/critical composite temp time at idx 48/49 (saturating). - I/O: MDTS cap (MAX_XFER_DW=8192 / 32KiB) rejects oversized read/write/write- zeroes with INVALID_FIELD; PRP list walk rejects >512 entries. - DSM: opcode 0x09 with Deallocate bit now invalidates backing-cache slots in the range (wires the existing S_DSM_* path) so post-TRIM reads return zero. - Admin: Set/Get Features persist + validate FIDs 0x01/0x02/0x04/0x06/0x07/ 0x08/0x09/0x0A/0x0B; unknown FIDs return INVALID_FIELD (was silent success). - MSI-X: vector-control dword write masked to bit 0 (bits 31:1 read 0, spec). - README: VMD / Intel RST host placement guidance (class 010802, VMD-mapped port). No port/PBA/interrupt-delivery changes; #75/#80 contracts preserved. go test -race ./... green (27 pkgs); hdl-lint: 170 total, 0 fail.
… reference Batch 1 from comparison with 16SalomonArs/Pcileech-DMA-NVMe-VMD (per-area, base-independent): - SMART: live Critical Warning byte (temp>=343 sets bit1, media errors bit2); temperature sensors at dword idx 50/51; cumulative warning/critical composite temp time at idx 48/49 (saturating). - I/O: MDTS cap (MAX_XFER_DW=8192 / 32KiB) rejects oversized read/write/write- zeroes with INVALID_FIELD; PRP list walk rejects >512 entries. - DSM: opcode 0x09 with Deallocate bit now invalidates backing-cache slots in the range (wires the existing S_DSM_* path) so post-TRIM reads return zero. - Admin: Set/Get Features persist + validate FIDs 0x01/0x02/0x04/0x06/0x07/ 0x08/0x09/0x0A/0x0B; unknown FIDs return INVALID_FIELD (was silent success). - MSI-X: vector-control dword write masked to bit 0 (bits 31:1 read 0, spec). - README: VMD / Intel RST host placement guidance (class 010802, VMD-mapped port). No port/PBA/interrupt-delivery changes; #75/#80 contracts preserved. go test -race ./... green (27 pkgs); hdl-lint: 170 total, 0 fail.
Batch 2 (generator-contained parts) from NVMe-VMD reference comparison: - AER (opcode 0x0C) is now asynchronous: latch cmd_cid + aer_registered, consume the SQE without posting a CQE; post the deferred completion from S_IDLE when an async event fires (SMART critical warning -> event_info 0x2). Duplicate AER while registered returns INVALID_FIELD. New states S_AER_POST/S_AER_FINISH; regs cleared on rst / cc_reset / shutdown. Fixes the prior behavior of bumping aer_pending and returning with no completion, which left the host's AER command pending forever. - cfgspace DWORD1 writemask 0xFFFFFFFF -> 0x7D00FFFF: Command fully writable; Status W1C error bits (8,10-14) stay writable; Status RO bits (Capabilities List, 66MHz, DEVSEL, FBTB, reserved) are now read-only so a host CfgWr of 0 can no longer permanently clear them (identity/detection risk). Full 3-way W1C shadow still needs the upstream pcileech-fpga submodule mem_wrap change (deferred). #75/#80 contracts preserved (no msix_vector_select; irq_delivery intact). go test -race ./... green (27 pkgs); hdl-lint: 170 total, 0 fail.
summary
affected modules
go test ./...andgo vet ./...pass with Verilator 5.032.