Drew Galbraith
b677633248
[Zion][Yellowstone] First pass at adding PCI ioport access.
2025-05-07 01:44:09 -07:00
Drew Galbraith
f26fd73116
[Zion][Denali] Move to MSI for AHCI devices.
...
This will allow us to properly do interrupts for XHCI devices in the
future.
Also move PCI device header parsing to a shared library.
Get rid of the old irq register format which supplied an irq number and
instead pass the appropriate irq number back out to the caller.
2025-05-05 23:14:01 -07:00
Drew Galbraith
dc801786b1
[VFS] Move victoria falls to rust. (Breaks voyageurs)
...
Move victoria falls to rust, which allows us to remove both the denali
and victoria falls C++ code. This disk driver appears to work properly
but has highlighted some instability in the voyageus xhci implementation
which now breaks.
2025-05-05 19:37:53 -07:00
Drew Galbraith
a806e41af0
[VFS] Skeleton for moving victoria falls to rust.
2025-02-07 18:59:00 -08:00
Drew Galbraith
faa71d08c5
Reduce wait in async executor.
2025-02-01 14:29:38 -08:00
Drew Galbraith
6f0dfa8719
Register denali on yellowstone, handle read requests.
2025-02-01 13:09:42 -08:00
Drew Galbraith
a5cdd23f0b
Run denali server thread.
2025-02-01 12:11:59 -08:00
Drew Galbraith
017367c4de
Store ahci hba and pci device header as mut references
2025-01-31 21:38:06 -08:00
Drew Galbraith
04effd44f8
Move Ahci Port Controller to hold raw references.
2025-01-31 21:23:42 -08:00
Drew Galbraith
741b605a1c
Move init implementation into hba and introduce volatile.
2025-01-31 18:03:04 -08:00
Drew Galbraith
34bd3b80d3
Created a basic async runtime.
2025-01-27 23:50:23 -08:00
Drew Galbraith
d777b8f4ab
Move yunq to new thread spawn and remove old one.
2025-01-26 00:05:55 -08:00
Drew Galbraith
d1b5720abd
Add a Mutex implementation.
2025-01-25 23:17:45 -08:00
Drew Galbraith
9da38d608a
Add thread spawn with proper trait checks.
2025-01-25 21:49:28 -08:00
Drew Galbraith
d94f61511b
[Denali] Interrupts working in rust.
2024-10-02 23:59:50 -07:00
Drew Galbraith
df79233bbb
[Denali] Reset HBA and iterate over ports.
2024-09-10 01:12:32 -07:00
Drew Galbraith
4ee8dc924c
Add a uniq test module for yunq in rust.
2024-08-29 21:27:27 -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
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
006f9f8ac5
[Teton] Exec process in rust.
2024-08-17 12:55:13 -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
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
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
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