summaryrefslogtreecommitdiffstats
path: root/docs/09-reference/legal-and-licensing.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/09-reference/legal-and-licensing.md')
-rw-r--r--docs/09-reference/legal-and-licensing.md30
1 files changed, 24 insertions, 6 deletions
diff --git a/docs/09-reference/legal-and-licensing.md b/docs/09-reference/legal-and-licensing.md
index 74f1363..57aad43 100644
--- a/docs/09-reference/legal-and-licensing.md
+++ b/docs/09-reference/legal-and-licensing.md
@@ -30,9 +30,12 @@ In this repository you will find:
* **GSP firmware images** (`firmware/**/*.fwimage.bin`) — fetched from public
distribution channels (e.g. `linux-firmware`); used to understand and
- emulate the firmware interface.
-* **Decompiled firmware artifacts** (`firmware/**/decompiled/`) — our own
- analysis output; kept for study and cited in the wiki.
+ emulate the firmware interface. They are **not distributed in this
+ repository**: like all firmware blobs they are gitignored and kept only as
+ local study material.
+* **Decompiled/disassembled artifacts** (`firmware/**/decompiled/`) — our own
+ analysis output, kept locally for study and cited in the wiki. They are
+ gitignored and never committed.
* **Reformatted interface tables** — IDs, structures and message layouts that
we derived, published in `wiki/` and in this documentation tree.
@@ -42,13 +45,28 @@ do not point readers at material we cannot redistribute, and do not
redistribute third-party binaries as project content beyond what their terms
allow.
+**CUDA-userspace (`libcuda`) analysis rules:**
+
+* Decompiled or disassembled output is never committed; it is gitignored study
+ material.
+* Cite userspace locations as `libcuda+0x...` *file virtual addresses*. Note
+ the Ghidra image-base caveat: that library is loaded at **`0x100000`**, so a
+ decompilation produced without translating the offset refers to the wrong
+ function.
+* Tracked docs state facts and evidence; conclusions cite numeric IDs, code
+ offsets and recorded observations, never source locations.
+* Name maps and indexes (`userspace/cuda/*/annotations/`) are our own work
+ product and may be tracked.
+
## 3. Adversarial interoperability and the law
We implement the *interface contract* so that unmodified NVIDIA software can
talk to our device. We do not:
* copy NVIDIA driver code into our kernel module,
-* patch NVIDIA drivers or firmware,
+* patch the guest, runtime or host driver at run time. The only patch series
+ we carry is build glue for the optional OpenRM submodule (`install.sh`); the
+ deployment path uses the distribution's NVIDIA driver as shipped,
* defeat licensing for NVIDIA's own products (our device is our device; no
impersonation of a licensed product identity).
@@ -68,8 +86,8 @@ open an issue: we would rather over-comply than argue.
contribution does not contain third-party material under incompatible terms.
* Write original code. Describe behaviour, cite the evidence, and reimplement
interfaces from observation rather than copying anyone's source.
-* Do not commit firmware or ISO images unless they are explicitly permitted and
- listed in `.gitattributes`/LFS policy.
+* Do not commit firmware or ISO images: they are local study/deployment
+ material and are gitignored (see §2).
## 5. Export, safety and platform notes