You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: rewrite README v0.11.0 β highlight March-April work for followers
New "What's New" section up front: AMD SDMA validated, HDA audio driver
saga, Ring 3 userland, 6 hwdiag modules, ThinkPad EC, CoreMark 25K,
security audit. Cleaned up GPU section (no internal tooling details).
Version bump to v0.11.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After weeks of bring-up work on an AMD RX 580X (Polaris 10), the **SDMA pipeline is running on bare metal**. Ring buffer allocated in GART, firmware responsive, read/write pointers advancing. The Graphics Memory Controller (L1/L2 TLB, system aperture, VM flat mode) was the missing piece β 14+ debug iterations on real hardware to track it down.
24
35
25
-
**Motherboard**: BTC-250PRO (Skylake, LGA1151)
26
-
**GPU**: AMD RX 580X (Polaris 10, 1002:67DF)
27
-
**SDMA**: RUNNING, GART ring, RPTR/WPTR OK, VRAM/GART mapping matches Linux
28
-
**Debug**: MMIO mapping, full audit, SDMA test β success
29
-
**Capture**: TrustOS Monitor v4, netconsole log, real hardware test
> After weeks of reverse engineering, auditing, and hardware testing, the AMD SDMA pipeline is validated on TrustOS. RPTR/WPTR OK, GART ring, VRAM/GART mapping, sequence matches Linux.
We wrote a complete **Intel HD Audio driver** from scratch in `no_std` Rust. Tested on ThinkPad T61 with an AD1984 codec β a notoriously tricky chip.
36
43
37
-
</div>
44
+
This was a 12-iteration debugging saga:
45
+
-**Root cause**: amp gain bits were swapped in our register encoding β output amplifiers were never actually being set
46
+
- GPIO polarity fix (T61 needs HIGH for amplifier power, not LOW)
- Stream reset logic, full DAC configuration, codec dump tool
49
+
- Gain range validation against hardware-reported amp capabilities
38
50
39
-
## What is TrustOS?
51
+
Result: working audio output on real hardware, from a bare-metal OS, in pure Rust.
40
52
41
-
TrustOS is a bare-metal operating system that boots directly on real hardware β no Linux, no BIOS services, no runtime dependencies. Once running, it gives you complete visibility into your machine: every PCI device, every CPU register, every GPU engine, every ACPI table, every DIMM slot.
53
+
### Ring 3 Userland (v0.10.5)
42
54
43
-
The core use case: **boot on any x86_64 machine (USB or PXE), and get a full hardware diagnostic report in seconds β remotely, over the network.**
55
+
TrustOS now has a **protected userland**. Full Ring 3 integration with an 85-check conformance audit:
56
+
- User-mode processes running in isolated address spaces
57
+
- Syscall interface validated against expected behavior
58
+
- Foundation for running untrusted code safely on bare metal
44
59
45
-
It ships with a Python remote monitor (`scripts/remote_screen.py`) that lets you see the screen and interact with the shell from any PC on the same network β no physical access required.
60
+
### Hardware Diagnostic Suite β 6 New Modules (v0.10.4)
46
61
47
-
---
62
+
The `hwdbg` toolkit now has **15+ subcommands** for deep hardware inspection:
48
63
49
-
## π₯ Work in Progress β AMD GPU Bare-Metal Driver
64
+
| Tool | What it does |
65
+
|------|-------------|
66
+
|`pciraw`| Raw PCI/PCIe config space hex dump (256B legacy / 4KB extended) |
| GPU-accelerated AI | π | INT8 GEMM (`V_DOT4_I32_I8`) across 36 CUs for JARVIS training |
81
+
Added the industry-standard **EEMBC CoreMark** benchmark. TrustOS achieves **25,000 iterations/second** on bare metal (Intel G4400). A verifiable, comparable number that shows the kernel isn't just functional β it's performant.
68
82
69
-
### Key Discovery
83
+
### Security Audit
70
84
71
-
After **14+ debug iterations**, the SDMA read pointer was stuck at 0. We systematically eliminated: PCIe riser effects, VT-d passthrough, doorbell ordering, HDP flush timing, VMID field widths, SAM bit positions, and more.
85
+
Preemptive vulnerability fixes from a cross-OS security audit. Hardened before shipping, not after.
72
86
73
-
**Root cause**: the Graphics Memory Controller was never initialized β L1 TLB had system-access-mode disabled, so firmware couldn't resolve ring buffer addresses. Not a register bug, not a PCIe issue β it was the memory subsystem.
87
+
---
74
88
75
-
### Goal
89
+
##What is TrustOS?
76
90
77
-
Train JARVIS (4.4M-param byte-level transformer embedded in the kernel) directly on GPU compute units. No CPU fallback for matrix ops.
91
+
TrustOS is a bare-metal operating system that boots directly on real hardware β no Linux, no BIOS services, no runtime dependencies. Once running, it gives you complete visibility into your machine: every PCI device, every CPU register, every GPU engine, every ACPI table, every DIMM slot.
92
+
93
+
The core use case: **boot on any x86_64 machine (USB or PXE), and get a full hardware diagnostic report in seconds β remotely, over the network.**
94
+
95
+
It ships with a Python remote monitor (`scripts/remote_screen.py`) that lets you see the screen and interact with the shell from any PC on the same network β no physical access required.
96
+
97
+
---
98
+
99
+
## AMD GPU Bring-Up β Milestones
100
+
101
+
From-scratch AMD GPU driver in pure `no_std` Rust β no Linux, no Mesa, no libdrm. Direct MMIO register control on real silicon.
| GPU-accelerated AI β INT8 GEMM across 36 CUs for JARVIS | Planned |
114
+
115
+
**Key Discovery**: After 14+ iterations, SDMA's read pointer was stuck at 0. Root cause: the Graphics Memory Controller was never initialized β L1 TLB had system-access-mode disabled, so firmware couldn't resolve ring buffer addresses. Not a PCIe issue, not a register bug β the memory subsystem.
78
116
79
117
---
80
118
@@ -87,16 +125,16 @@ TrustOS probes hardware at the register level. No abstraction layers between you
87
125
|**PCI Bus**| Full enumeration: vendor/device IDs, class, BARs, capability chains (MSI, PCIe, PM), bus mastering |
- T61 hardware optimization, matrix rain, GitHub Pages site
260
261
261
262
---
262
263
@@ -268,4 +269,4 @@ Apache 2.0 β see [LICENSE](LICENSE).
268
269
269
270
## AI Disclosure
270
271
271
-
This project was built with AI assistance (GitHub Copilot). All code is reviewed and understood by the author. No generated code is shipped without verification.
272
+
This project was built with AI assistance (GitHub Copilot, Claude). All code is reviewed and understood by the author. No generated code is shipped without verification.
0 commit comments