diff options
| author | salmonik <salmonik@tuta.io> | 2026-08-27 17:16:04 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-08-27 17:16:04 +0200 |
| commit | 8767dbecb45bbe5f748952fb9171b1a96c173f67 (patch) | |
| tree | c10a66c91a53522feb980d8b59aa8c87293537f8 /Cargo.lock | |
| parent | streams: per-invocation channel, pumping mode, filter pipeline wiring (diff) | |
| download | rs-dos-8767dbecb45bbe5f748952fb9171b1a96c173f67.tar.gz rs-dos-8767dbecb45bbe5f748952fb9171b1a96c173f67.zip | |
tool migration: v2 exports + 10 external CLI binaries
rsapi v2: 14 new ABI function pointers appended after v1 — fs_resolve,
fs_dir_next (iterator), fs_create, fs_remove, fs_read, fs_write,
fs_size, fs_close, rtc_now, mem_stats, pci_probe, pci_device,
klog_dump, kernel_version. New C-repr structs: DirEntry, RtcTime,
MemStats, PciDevice, KernelVersion. ABI_VERSION bumped to 2.
Shell-side: build_exports() constructs the full table at runtime per
invocation (replaces static const). 14 kernel-side wrapper functions
bridge rsapi types to rsnix kernel APIs; fs_dir_next maintains a
per-handle cache of children() results for iteration.
Tool binaries (10 crates, all linked against rsapi only):
- date: rtc_now → formatted YYYY-MM-DD HH:MM:SS
- mem: heap/pages free/total via mem_stats
- pci: pci_probe + pci_device enumerate all devices
- cat: fs_read paths or get_line stdin; put_line output
- ls: fs_resolve + fs_dir_next iteration; trailing / for dirs
- mkdir: fs_create(path, true)
- touch: fs_create(path, false)
- rm: fs_remove(path)
- klog: klog_dump 2048 bytes → put_line
- info: rtc_now + kernel_version (minimal; mem/pci deferred)
Gate verified: date prints RTC; pci lists all 4 QEMU devices
(8086:29c0, 1234:1111, 8086:10d3, 8086:2918); hello/boom/count
still work; test-disk PASS; poweroff clean.
Diffstat (limited to 'Cargo.lock')
| -rw-r--r-- | Cargo.lock | 70 |
1 files changed, 70 insertions, 0 deletions
| @@ -10,6 +10,13 @@ dependencies = [ | |||
| 10 | ] | 10 | ] |
| 11 | 11 | ||
| 12 | [[package]] | 12 | [[package]] |
| 13 | name = "cat" | ||
| 14 | version = "0.6.0" | ||
| 15 | dependencies = [ | ||
| 16 | "rsapi", | ||
| 17 | ] | ||
| 18 | |||
| 19 | [[package]] | ||
| 13 | name = "count" | 20 | name = "count" |
| 14 | version = "0.6.0" | 21 | version = "0.6.0" |
| 15 | dependencies = [ | 22 | dependencies = [ |
| @@ -17,6 +24,13 @@ dependencies = [ | |||
| 17 | ] | 24 | ] |
| 18 | 25 | ||
| 19 | [[package]] | 26 | [[package]] |
| 27 | name = "date" | ||
| 28 | version = "0.6.0" | ||
| 29 | dependencies = [ | ||
| 30 | "rsapi", | ||
| 31 | ] | ||
| 32 | |||
| 33 | [[package]] | ||
| 20 | name = "hello" | 34 | name = "hello" |
| 21 | version = "0.6.0" | 35 | version = "0.6.0" |
| 22 | dependencies = [ | 36 | dependencies = [ |
| @@ -24,6 +38,55 @@ dependencies = [ | |||
| 24 | ] | 38 | ] |
| 25 | 39 | ||
| 26 | [[package]] | 40 | [[package]] |
| 41 | name = "info" | ||
| 42 | version = "0.6.0" | ||
| 43 | dependencies = [ | ||
| 44 | "rsapi", | ||
| 45 | ] | ||
| 46 | |||
| 47 | [[package]] | ||
| 48 | name = "klog" | ||
| 49 | version = "0.6.0" | ||
| 50 | dependencies = [ | ||
| 51 | "rsapi", | ||
| 52 | ] | ||
| 53 | |||
| 54 | [[package]] | ||
| 55 | name = "ls" | ||
| 56 | version = "0.6.0" | ||
| 57 | dependencies = [ | ||
| 58 | "rsapi", | ||
| 59 | ] | ||
| 60 | |||
| 61 | [[package]] | ||
| 62 | name = "mem" | ||
| 63 | version = "0.6.0" | ||
| 64 | dependencies = [ | ||
| 65 | "rsapi", | ||
| 66 | ] | ||
| 67 | |||
| 68 | [[package]] | ||
| 69 | name = "mkdir" | ||
| 70 | version = "0.6.0" | ||
| 71 | dependencies = [ | ||
| 72 | "rsapi", | ||
| 73 | ] | ||
| 74 | |||
| 75 | [[package]] | ||
| 76 | name = "pci" | ||
| 77 | version = "0.6.0" | ||
| 78 | dependencies = [ | ||
| 79 | "rsapi", | ||
| 80 | ] | ||
| 81 | |||
| 82 | [[package]] | ||
| 83 | name = "rm" | ||
| 84 | version = "0.6.0" | ||
| 85 | dependencies = [ | ||
| 86 | "rsapi", | ||
| 87 | ] | ||
| 88 | |||
| 89 | [[package]] | ||
| 27 | name = "rsapi" | 90 | name = "rsapi" |
| 28 | version = "0.6.0" | 91 | version = "0.6.0" |
| 29 | 92 | ||
| @@ -65,3 +128,10 @@ dependencies = [ | |||
| 65 | "rsnix", | 128 | "rsnix", |
| 66 | "rspaint", | 129 | "rspaint", |
| 67 | ] | 130 | ] |
| 131 | |||
| 132 | [[package]] | ||
| 133 | name = "touch" | ||
| 134 | version = "0.6.0" | ||
| 135 | dependencies = [ | ||
| 136 | "rsapi", | ||
| 137 | ] | ||
