From bfd269ee74d166be4f386640f8b5daad31d5d6ed Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sun, 13 Sep 2026 19:28:03 -0400 Subject: Phase 4: Portable Architecture Implementation - Firmware Analyzer: Runtime firmware signature computation (CRC32, SHA256) and pattern-based RPC handler address discovery - Dynamic RPC Dispatcher: Version-aware dispatch with native firmware handlers (550/560/570/580) and emulation fallback - Hardware Architecture Layer: Turing, Ampere, Blackwell configs with BAR layouts, doorbell offsets, MSI-X vectors - Driver Version Adaptation Layer: Feature detection per driver version - Declarative YAML configs for hardware (turing/ampere/blackwell) and versions (550/560/570/580) - Kernel unit tests for GSP emulation (gsp_emulation_test.c) - Test infrastructure scripts (test_gsp_emu.sh, test_guest_driver.sh, test_cuda_workloads.sh, test_graphics_workloads.sh, test_windows_guest.sh, test_vgpu_stack.sh) - Updated kernel Makefile with new source files --- config/hardware/turing.yaml | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 config/hardware/turing.yaml (limited to 'config/hardware/turing.yaml') diff --git a/config/hardware/turing.yaml b/config/hardware/turing.yaml new file mode 100644 index 0000000..1257ba3 --- /dev/null +++ b/config/hardware/turing.yaml @@ -0,0 +1,70 @@ +# Turing Architecture Configuration (TU102, TU104, TU106) +architecture: + name: "turing" + description: "NVIDIA Turing architecture (RTX 20-series, T4, Quadro RTX)" + pci_vendor_id: 0x10DE + pci_device_ids: + - 0x1E82 # TU102 + - 0x1E83 + - 0x1E84 + - 0x1E85 + - 0x1E86 + - 0x1E87 + - 0x1E88 + - 0x1E89 + - 0x1E8A + - 0x1E8B + - 0x1E8C + - 0x1E8D + - 0x1E8E + - 0x1E8F + - 0x1ED0 # TU104 + - 0x1ED1 + - 0x1ED2 + - 0x1ED3 + - 0x1ED4 + - 0x1ED5 + - 0x1ED6 + - 0x1ED7 + - 0x1ED8 + - 0x1ED9 + - 0x1EDA + - 0x1EDB + - 0x1EDC + - 0x1EDD + - 0x1EDE + - 0x1EDF + bar_layout: + bar0: + size_mb: 16 + type: "config" + description: "Control registers, doorbell, shared memory" + bar1: + size_mb: 256 + type: "vram" + description: "VRAM aperture" + bar2: + size_mb: 32 + type: "reserved" + description: "Reserved" + bar3: + size_mb: 32 + type: "reserved" + description: "Reserved" + gsp: + doorbell_offset: 0x110C00 + shared_mem_offset: 0x1000 + shared_mem_size_kb: 4 + firmware_version: "570.144W" + msix: + table_offset: 0x2000 + pba_offset: 0x3000 + vectors: 32 + limits: + max_vfs: 8 + vram_size_gb: 16 + page_size_kb: 4 + features: + mig: false + sriov: true + vgpu: true \ No newline at end of file -- cgit v1.2.3