Commit Graph

40 Commits

Author SHA1 Message Date
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