| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restructure for clean mirroring to git.vgpu.io/open-iov.git:
- Untrack GSP firmware blobs and decompiled output (firmware/**/*.bin,
firmware/**/decompiled/) - large, license-restricted NVIDIA binaries.
Analysis scripts, docs, and address maps remain tracked.
- Untrack nvidia-open-gpu-kernel-modules submodule; our delta against
upstream tag 610.57.04 is now tracked as a patch series in
patches/nvidia/ and applied by install.sh after cloning.
- Untrack kernel build artifacts (*.o, *.ko, Module.symvers, ...).
- Untrack Ghidra project databases (*.rep/, *.gpr) - scripts remain.
- Untrack VM images (*.iso, *.img, *.qcow2) and compiled helper binaries.
- Drop git-lfs (.gitattributes) - no large objects remain in git.
- Local QEMU-wrapper layers (scripts/vgpu_vm.py,
qemu_control.py, qemu_harness.sh) are gitignored: the repo is
hypervisor-management neutral (libvirt, raw QEMU all work).
All files remain on disk; only git tracking changes. No source code
modified.
|
|
|
- Firmware decompilation: GSP 570.144W (28.5MB ELF, RV64IMAC), 132 decompiled C files
- Kernel modules: nvidia.ko (34MB, OpenRM), open-iov-vfio.ko (2.8MB, VFIO mdev), gsp-vgpu.ko (1.8MB, guest driver)
- Userspace: libiov.so/libvgpu.so (76KB), example_vgpu (28KB), rpc_emulator.c
- PCI config space emulation (256B with PM, MSI, MSI-X, PCIe caps)
- 12 RPC types fully mapped from firmware decompilation
- BAR trap, WPR, scheduling, notification, migration emulation
- Helper scripts: load_vgpu_stack, create_mdev, launch_qemu_vgpu, test_vgpu_stack, setup_guest_driver, unload_vgpu_stack
- Architecture documentation
- Wiki: 10 technical documents
- Git LFS for large binaries (.ko, .bin, .iso, .img, .o, ghidra repos)
- nvidia-open-gpu-kernel-modules as submodule
|