summaryrefslogtreecommitdiffstats
path: root/firmware/57X-GSP/570.144/memory_blocks.json
diff options
context:
space:
mode:
authorOpen-IOV <dev@open-iov.org>2026-09-23 05:44:08 -0400
committerOpen-IOV <dev@open-iov.org>2026-09-23 05:46:43 -0400
commit68cdd7728a7cc6715bbbff7decfe2b11c3bdf558 (patch)
tree3dc8ce2e6af313a97ec6852f5c663a9a93665d2e /firmware/57X-GSP/570.144/memory_blocks.json
downloadopen-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.tar.gz
open-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.zip
Open-IOV: initial public release
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with real GPU functionality - CUDA first, 3D and video to follow - on unmodified hosts, without a proprietary vGPU license and without patching any driver, firmware or hypervisor. Core principle: emulate the interface, pass through the work. kernel/ open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device (PCI config space, BAR shadows, MSI-X), GSP boot emulation, GSP-RM message-queue/RPC emulation, memory model (GPU-VA to guest-PA discovery) and the semaphore-completion service that advances guest UVM progress. userspace/ libiov.so management API and examples. tools/ guest diagnostics, firmware analysis wrappers, RM probes. scripts/ stack manager, VM harness, build/load/test automation. config/ hardware/version profiles (the portability surface). docs/ documentation tree - start at docs/README.md. wiki/ long-form firmware and protocol deep dives. Status: initialization works end to end for a stock 570.144 Linux guest on Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery, object creation and the early CUDA/UVM start-up path. GPU work forwarding - the step that makes CUDA kernels execute on real hardware - is the active work item; see docs/04-implementation/01-known-knowns-and-unknowns.md. License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
Diffstat (limited to 'firmware/57X-GSP/570.144/memory_blocks.json')
-rw-r--r--firmware/57X-GSP/570.144/memory_blocks.json371
1 files changed, 371 insertions, 0 deletions
diff --git a/firmware/57X-GSP/570.144/memory_blocks.json b/firmware/57X-GSP/570.144/memory_blocks.json
new file mode 100644
index 0000000..1175dac
--- /dev/null
+++ b/firmware/57X-GSP/570.144/memory_blocks.json
@@ -0,0 +1,371 @@
+[
+ {
+ "name": "segment_0.1",
+ "start": "ram:04000000",
+ "end": "ram:04000fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".ga100_data",
+ "start": "ram:04001000",
+ "end": "ram:0400216f",
+ "size": 4464,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": "segment_0.3",
+ "start": "ram:04002170",
+ "end": "ram:04002fff",
+ "size": 3728,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".tu10x_data",
+ "start": "ram:04003000",
+ "end": "ram:0400416f",
+ "size": 4464,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": "segment_0.5",
+ "start": "ram:04004170",
+ "end": "ram:04004fff",
+ "size": 3728,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".ga100_text",
+ "start": "ram:04005000",
+ "end": "ram:04006413",
+ "size": 5140,
+ "execute": true,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": "segment_0.7",
+ "start": "ram:04006414",
+ "end": "ram:04006fff",
+ "size": 3052,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".tu10x_text",
+ "start": "ram:04007000",
+ "end": "ram:04008413",
+ "size": 5140,
+ "execute": true,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": "segment_0.9",
+ "start": "ram:04008414",
+ "end": "ram:04008fff",
+ "size": 3052,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".bootstrap",
+ "start": "ram:04009000",
+ "end": "ram:04009073",
+ "size": 116,
+ "execute": true,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": "segment_0.11",
+ "start": "ram:04009074",
+ "end": "ram:04009fff",
+ "size": 3980,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".ga100_resident_text",
+ "start": "ram:0400a000",
+ "end": "ram:0400cfff",
+ "size": 12288,
+ "execute": true,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".ga100_resident_data",
+ "start": "ram:0400d000",
+ "end": "ram:0400dfff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".tu10x_resident_text",
+ "start": "ram:0400e000",
+ "end": "ram:04010fff",
+ "size": 12288,
+ "execute": true,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".tu10x_resident_data",
+ "start": "ram:04011000",
+ "end": "ram:04011fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".acl",
+ "start": "ram:04012000",
+ "end": "ram:04012160",
+ "size": 353,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".manifest",
+ "start": "ram:04012168",
+ "end": "ram:04012fff",
+ "size": 3736,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".header",
+ "start": "ram:04013000",
+ "end": "ram:0401300f",
+ "size": 16,
+ "execute": false,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".memory_region_init_arguments",
+ "start": "ram:04013010",
+ "end": "ram:0401306f",
+ "size": 96,
+ "execute": false,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".section_task_init_elf_rodata_instance",
+ "start": "ram:04014000",
+ "end": "ram:04014fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".section_task_init_elf_data_instance",
+ "start": "ram:04015000",
+ "end": "ram:04016fff",
+ "size": 8192,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_init_elf_paged_data_instance",
+ "start": "ram:04017000",
+ "end": "ram:04017fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_init_elf_text_instance",
+ "start": "ram:04018000",
+ "end": "ram:0401cfff",
+ "size": 20480,
+ "execute": true,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".section_task_init_elf_paged_text_instance",
+ "start": "ram:0401d000",
+ "end": "ram:0401dfff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_elf_rodata_instance",
+ "start": "ram:0401e000",
+ "end": "ram:041dafff",
+ "size": 1822720,
+ "execute": false,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".section_task_rm_elf_data_instance",
+ "start": "ram:041db000",
+ "end": "ram:04c57fff",
+ "size": 10997760,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_elf_text_instance",
+ "start": "ram:04c58000",
+ "end": "ram:05b21fff",
+ "size": 15507456,
+ "execute": true,
+ "read": true,
+ "write": false
+ },
+ {
+ "name": ".section_task_init_dmem_64kb_instance",
+ "start": "ram:05b22000",
+ "end": "ram:05b31fff",
+ "size": 65536,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_log_init_buffer_instance",
+ "start": "ram:05b32000",
+ "end": "ram:05b41fff",
+ "size": 65536,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_args_buffer_instance",
+ "start": "ram:05b42000",
+ "end": "ram:05b42fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_msgq_work_areas_instance",
+ "start": "ram:05b43000",
+ "end": "ram:05b63fff",
+ "size": 135168,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_message_timing_buffer_instance",
+ "start": "ram:05b64000",
+ "end": "ram:05b64fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_memcpy_buffer_instance",
+ "start": "ram:05b65000",
+ "end": "ram:05b65fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_memset_buffer_instance",
+ "start": "ram:05b66000",
+ "end": "ram:05b66fff",
+ "size": 4096,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_log_rm_buffer_instance",
+ "start": "ram:05b67000",
+ "end": "ram:05ba6fff",
+ "size": 262144,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_init_stack_instance",
+ "start": "ram:05ba7000",
+ "end": "ram:05ba8fff",
+ "size": 8192,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".section_task_rm_stack_instance",
+ "start": "ram:05ba9000",
+ "end": "ram:05bb8fff",
+ "size": 65536,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": "csr",
+ "start": "csreg:0000",
+ "end": "csreg:0fff.7",
+ "size": 32768,
+ "execute": false,
+ "read": true,
+ "write": true
+ },
+ {
+ "name": ".comment",
+ "start": ".comment::00000000",
+ "end": ".comment::00000055",
+ "size": 86,
+ "execute": false,
+ "read": false,
+ "write": false
+ },
+ {
+ "name": ".shstrtab",
+ "start": ".shstrtab::00000000",
+ "end": ".shstrtab::00000414",
+ "size": 1045,
+ "execute": false,
+ "read": false,
+ "write": false
+ },
+ {
+ "name": "_elfSectionHeaders",
+ "start": "_elfSectionHeaders::00000000",
+ "end": "_elfSectionHeaders::000009bf",
+ "size": 2496,
+ "execute": false,
+ "read": false,
+ "write": false
+ }
+] \ No newline at end of file