ldls: L4 was free after all, and the plan closes
L4 was listed as "free -- H2 built all of this" and never actually tested,
which is a claim rather than a result. Tested now, and it holds:
ldlsd running ping 2/2; holds index 7 and DMA slots 3 and 4
killed interface DOWN, device released, bus mastering
cleared, DMA reclaimed -- back to vgpud's 3 blocks
ping fails honestly: sendto: -5
a second ldlsd ping 3/3, and the arena hands back the same addresses
pciuser_release_all() and netuser_release_all() sit beside each other in
exit() for the same reason, and that they apply unchanged to a foreign driver
is the whole point of having built them against our own.
With that, every milestone on ldls.md is done, so it leaves docs/plan/ for
docs/architecture/ -- the rule docs/plan/README.md states and the one that
keeps the two directories meaning different things. The new document describes
what is, not what was planned: the five rules, the four pieces, what it costs
(polling, no stack protector, locks that are no-ops), that it can be killed,
and a "what it does not do" that leads with one driver, one kernel version,
tried once.
Sixteen source files pointed at docs/plan/ldls.md and would have been dangling
the moment it moved. All repointed, and the milestone references -- which the
architecture doc deliberately does not have -- rewritten to name sections
instead, so a reader lands somewhere real.
The register row closes with it. hybrid.md freed a slot, ldls.md took it, and
it is now free again.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
This commit is contained in:
parent
888c48fd96
commit
f38eb8a7fd
22 changed files with 278 additions and 929 deletions
|
|
@ -65,7 +65,7 @@ specification rather than ported.
|
|||
|
||||
**"Cannot be adopted" is not the same as "cannot be run."** A driver the *user*
|
||||
obtains and loads on their own machine is their act, not a distribution by us —
|
||||
see §4 and [plan/ldls.md](plan/ldls.md), which is the layer built on exactly
|
||||
see §4 and [architecture/ldls.md](architecture/ldls.md), which is the layer built on exactly
|
||||
that distinction and which ships no Linux code of any kind.
|
||||
|
||||
---
|
||||
|
|
@ -249,7 +249,7 @@ copied file is a file to be understood, attributed and maintained forever.
|
|||
|
||||
## 6. LDLS, and the distribution boundary
|
||||
|
||||
[plan/ldls.md](plan/ldls.md) runs Linux drivers. That sounds like it should
|
||||
[architecture/ldls.md](architecture/ldls.md) runs Linux drivers. That sounds like it should
|
||||
contradict §2, and it does not, because the two questions below are different
|
||||
ones and only the first is about us.
|
||||
|
||||
|
|
@ -257,7 +257,7 @@ ones and only the first is about us.
|
|||
|
||||
Every file under `ldls/` is ours. The loader was written from the ELF-64 gABI
|
||||
and the x86-64 psABI; the shim is written under the rule in
|
||||
[plan/ldls.md](plan/ldls.md) §3. **No Linux code is in it and none ever will
|
||||
[architecture/ldls.md](architecture/ldls.md). **No Linux code is in it and none ever will
|
||||
be**, which is the same standard the xHCI and USB stacks already meet (§5).
|
||||
|
||||
### The combination is not ours to make
|
||||
|
|
|
|||
Loading…
Reference in a new issue