Drew Galbraith
090441ad04
[Yellowstone] Spawn VFS and handle GetEndpoint.
2024-08-17 22:05:52 -07:00
Drew Galbraith
e90018b42e
[Yellowstone] Allow registering denali.
2024-08-17 21:54:30 -07:00
Drew Galbraith
c9b484089e
[Yellowstone] Wireframe for moving yellowstone to rust.
2024-08-17 20:19:45 -07:00
Drew Galbraith
0aa4a1f5f1
[Zion] Allow loading from an offset program segment.
2024-08-17 20:18:54 -07:00
Drew Galbraith
f551cc88cd
[Yunq] Allow creating a client cap.
2024-08-17 20:18:25 -07:00
Drew Galbraith
52f530f8c1
Add yunq support for nested messages.
2024-08-17 20:18:03 -07:00
Drew Galbraith
7825d1861a
[Zion] Check right permission for reply port send.
2024-08-17 17:49:06 -07:00
Drew Galbraith
7e68c1b641
Add a rust user-space Capability struct.
...
This is a thin wrapper around a capability ptr that releases the
capability when it is done and prevents copying/cloning it.
To get a copy a caller must explicitly use duplicate.
2024-08-17 17:15:33 -07:00
Drew Galbraith
19a8ab41d4
[Zion] Make sure result of ValidateCapability is used.
2024-08-17 17:14:30 -07:00
Drew Galbraith
c6dbc395aa
[Teton] Remove old C++ implementation.
2024-08-17 12:56:30 -07:00
Drew Galbraith
006f9f8ac5
[Teton] Exec process in rust.
2024-08-17 12:55:13 -07:00
Drew Galbraith
8206e671cd
[Zion] Add extra message for when unmap fails.
2024-08-17 12:54:09 -07:00
Drew Galbraith
71431189c9
[Zion] Ensure memory alignment of large allocations.
2024-08-17 12:53:25 -07:00
Drew Galbraith
f5a27156d2
[Teton] Add ls and cd commands to rust impl.
2024-08-14 08:47:29 -07:00
Drew Galbraith
c155247f1d
[Teton] Terminal now owns the command str.
2024-08-14 08:03:43 -07:00
Drew Galbraith
f04e720811
Typing in terminal is now supported in rust teton.
2024-08-13 19:55:44 -07:00
Drew Galbraith
18e512cf1f
[Teton] Move console/shell to rust. WIP
2024-08-12 11:35:54 -07:00
Drew Galbraith
76f8795a46
Implement yunq server in rust.
2024-07-31 19:59:46 -07:00
Drew Galbraith
dbc4e7e2ad
Remove panic abort from Cargo.toml (it is set by the arch json).
2024-07-30 15:49:14 -07:00
Drew Galbraith
6ae111dc66
Move request/response serialization to YunqMessage trait.
2024-07-30 15:13:34 -07:00
Drew Galbraith
e41f58c714
Use method number in rust yunq client.
2024-07-30 14:33:19 -07:00
Drew Galbraith
d4f60f4942
Moved process exit to syscall helper.
...
Final call moved so syscall is private now.
Also cleans up the macro a fair bit.
2024-07-28 21:01:03 -07:00
Drew Galbraith
c2f9f5388b
Move yunq client to use syscall helpers.
2024-07-28 20:54:52 -07:00
Drew Galbraith
5705f8d2ab
Move more syscall usages to helper functions.
2024-07-28 20:10:32 -07:00
Drew Galbraith
ca67da16e6
[Mammoth] Move thread syscalls to wrappers.
2024-07-28 19:48:05 -07:00
Drew Galbraith
612a5ac572
Remove unused zcap
2024-07-28 19:30:31 -07:00
Drew Galbraith
4d94bc0ea8
Make unsafe more limited in memory initialization.
2024-07-28 19:29:23 -07:00
Drew Galbraith
d35e8d253f
Reorganize mammoth lib in rust.
2024-07-28 19:26:23 -07:00
Drew Galbraith
d5a5041c4b
Add multithreading to rust code.
2024-07-28 19:02:03 -07:00
Drew Galbraith
19144f7be9
Fix rust compiler warnings.
2024-07-28 18:14:18 -07:00
Drew Galbraith
1e073d5060
Split yunq compliation to library and use it in build process.
2024-07-28 18:08:34 -07:00
Drew Galbraith
370ba9ae40
Hacky auto build for rust yunq.
2024-07-28 14:32:50 -07:00
Drew Galbraith
2cbf871d09
Add codegen for new rust yunq parser.
2024-07-27 20:23:03 -07:00
Drew Galbraith
8f35d38e93
Add macros to derive message serializations.
2024-07-27 18:30:17 -07:00
Drew Galbraith
ccd13fecf1
Use in macro.
2024-07-27 08:36:56 -07:00
Drew Galbraith
3eea4d811a
Example yunq implementation for one Yellowstone endpoint.
2024-07-26 23:36:07 -07:00
Drew Galbraith
51d40f6db6
Return result type from syscall and format info on panic.
2024-07-26 16:31:57 -07:00
Drew Galbraith
e310eee468
Add method for formatting strings.
2024-07-26 15:57:10 -07:00
Drew Galbraith
32ccbedb7a
Basic allocations in rust user-space.
2024-07-26 15:20:21 -07:00
Drew Galbraith
40a50e8d00
Add entrypoint to rust mammoth.
2024-07-26 14:44:05 -07:00
Drew Galbraith
d6833be0ad
[Yunq] Codegen example for yunq implementation.
2024-06-11 15:11:56 -07:00
Drew Galbraith
12fb84cfad
[Yunq] Add typechecking to rust implementation.
2024-06-11 13:32:28 -07:00
Drew Galbraith
1cda053758
Create a first pass at a rust parser for the yunq language.
2024-06-11 13:01:58 -07:00
Drew Galbraith
5b1debde54
Automatically rebuild a rust file when running qemu.
2024-06-08 16:01:20 -07:00
Drew Galbraith
b0048b0a4f
Barebones rust example working in user space.
...
Requires manually copying the executable over to the image.
2024-06-08 15:47:58 -07:00
Drew Galbraith
844f55c7d0
[Mammoth/Voyageurs] Add shift modifiers for scancodes.
2024-02-24 15:25:00 -08:00
Drew Galbraith
a9351b222d
[Mammoth] Change scancodes to USB codes.
2024-02-24 15:12:44 -08:00
Drew Galbraith
8fb55f56b6
[Yellowstone] Start teton after voyageurs is available.
2024-02-24 15:12:21 -08:00
Drew Galbraith
02d4f8c80e
[Voyageurs] Send USB keypress data to the keyboard driver.
2024-02-24 14:59:33 -08:00
Drew Galbraith
3c1e435e04
[Voyageurs] Move NormalTrb generation into helper func.
2024-02-24 14:31:14 -08:00