summaryrefslogtreecommitdiffstats
path: root/config/hardware/ampere.yaml
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-13 19:28:03 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-13 19:28:03 -0400
commitbfd269ee74d166be4f386640f8b5daad31d5d6ed (patch)
tree82da0efeeea759d44605ff69b0f20c8f248623e2 /config/hardware/ampere.yaml
parent7adef330df18691acabda9f5c988742f23a2917d (diff)
downloadopen-iov-bfd269ee74d166be4f386640f8b5daad31d5d6ed.tar.gz
open-iov-bfd269ee74d166be4f386640f8b5daad31d5d6ed.zip
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
Diffstat (limited to 'config/hardware/ampere.yaml')
-rw-r--r--config/hardware/ampere.yaml104
1 files changed, 104 insertions, 0 deletions
diff --git a/config/hardware/ampere.yaml b/config/hardware/ampere.yaml
new file mode 100644
index 0000000..f2439f8
--- /dev/null
+++ b/config/hardware/ampere.yaml
@@ -0,0 +1,104 @@
+# Ampere Architecture Configuration (GA100, GA102, GA104)
+architecture:
+ name: "ampere"
+ description: "NVIDIA Ampere architecture (RTX 30-series, A100, A30, A10)"
+ pci_vendor_id: 0x10DE
+ pci_device_ids:
+ - 0x20B0 # GA100
+ - 0x20B1
+ - 0x20B2
+ - 0x20B3
+ - 0x20B4
+ - 0x20B5
+ - 0x20B6
+ - 0x20B7
+ - 0x20B8
+ - 0x20B9
+ - 0x20BA
+ - 0x20BB
+ - 0x20BC
+ - 0x20BD
+ - 0x20BE
+ - 0x20BF
+ - 0x20C0 # GA102
+ - 0x20C1
+ - 0x20C2
+ - 0x20C3
+ - 0x20C4
+ - 0x20C5
+ - 0x20C6
+ - 0x20C7
+ - 0x20C8
+ - 0x20C9
+ - 0x20CA
+ - 0x20CB
+ - 0x20CC
+ - 0x20CD
+ - 0x20CE
+ - 0x20CF
+ - 0x20D0 # GA104
+ - 0x20D1
+ - 0x20D2
+ - 0x20D3
+ - 0x20D4
+ - 0x20D5
+ - 0x20D6
+ - 0x20D7
+ - 0x20D8
+ - 0x20D9
+ - 0x20DA
+ - 0x20DB
+ - 0x20DC
+ - 0x20DD
+ - 0x20DE
+ - 0x20DF
+ - 0x20E0
+ - 0x20E1
+ - 0x20E2
+ - 0x20E3
+ - 0x20E4
+ - 0x20E5
+ - 0x20E6
+ - 0x20E7
+ - 0x20E8
+ - 0x20E9
+ - 0x20EA
+ - 0x20EB
+ - 0x20EC
+ - 0x20ED
+ - 0x20EE
+ - 0x20EF
+ bar_layout:
+ bar0:
+ size_mb: 16
+ type: "config"
+ description: "Control registers, doorbell, shared memory"
+ bar1:
+ size_mb: 512
+ 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: 16
+ vram_size_gb: 80
+ page_size_kb: 4
+ features:
+ mig: true
+ sriov: true
+ vgpu: true \ No newline at end of file