Build original Ada port core, V client, and x86-64 boot milestone
This commit is contained in:
1 parent
9af96aa1e1
commit
fc2bee6f32
28 files changed
+865
-7
No files matched your search
@@ -0,0 +1,28 @@
|
||||
# Roadmap and acceptance evidence
|
||||
|
||||
Each milestone should include source, tests, an exact build command, and an accompanying University lesson. The remaining work is substantial; the first boot milestone is not a complete OS.
|
||||
|
||||
| Milestone | State | Acceptance evidence |
|
||||
| --- | --- | --- |
|
||||
| M0: honest source inventory and host build | Implemented | `make run` accurately reports placeholders; build instructions reproduce |
|
||||
| M1: bounded Ada ports and V interoperability | Implemented | `make test` passes normal, denied, boundary, stale-reference, and ABI checks |
|
||||
| M2: x86-64 virtual-machine boot | Implemented | `make boot-test` checks long-mode Ada entry, shared port-core tests, serial proof and exit status |
|
||||
| M3: exceptions and physical-memory inventory | Planned | Controlled exceptions produce structured diagnostics; parse Multiboot memory data with bounds; never allocate reserved/kernel/page-table/stack regions |
|
||||
| M4: page allocator and protected address spaces | Planned | Reuse/free exhaustion tests; read-only and unmapped access faults; separate users cannot read each other's pages; executable/write policies defined |
|
||||
| M5: timer, context switching and scheduling | Planned | Two tasks make progress; register/context preservation; bounded queues; starvation/cancellation cases documented |
|
||||
| M6: syscall IPC and service restart | Planned | Identity comes from trusted task state; invalid user pointers fail safely; service crash/restart does not corrupt another service; stale endpoint references fail |
|
||||
| M7: storage, network and devices | Planned | Disposable virtual disk/network tests; crash/recovery and corruption cases; no physical-disk experiments without explicit approval |
|
||||
| M8: application/framework contracts | Planned | Versioned Ada/V APIs, event loop, lifetime rules, serialization tests, and a working sample application |
|
||||
| M9: Open Amiga integration | Awaiting source | Identify owner's repository, license, architecture and build; choose bounded component and test compatibility explicitly |
|
||||
| M10: additional ISAs and CPU/GPU placement | Planned | Independent target boots, measured topology/transfer/latency evidence, synchronization tests; unsupported targets clearly labeled |
|
||||
|
||||
## Useful first contributions
|
||||
|
||||
1. Add an independently written randomized FIFO reference-model test and demonstrate that a deliberate queue bug is caught.
|
||||
2. Test replacement of an allowed sender and the policy for messages already queued before revocation.
|
||||
3. Add a boot-failure fixture or reproducible fault injection so the smoke test is shown to reject a false pass.
|
||||
4. Improve translated build instructions with actual commands and captured output from a clean machine.
|
||||
5. Design bounded parsing of the bootloader memory map with malformed/truncated fixtures before touching an allocator.
|
||||
6. Specify a versioned service-message format with length, operation, request ID, and serialization test vectors.
|
||||
|
||||
Every task should identify the relevant files, expected behavior, tests to run, and limits. Review must assess whether evidence establishes the claimed property, not just whether a demo prints a success message.
|
||||
Reference in new issue
Block a user