Commit Graph

563 Commits

Author SHA1 Message Date
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
Drew Galbraith e6b232851e [Voyageurs] Add 10 trbs to the queue to handle rapid keypresses. 2024-02-24 14:23:14 -08:00
Drew Galbraith c5f8195255 [Voyageurs] Receive keypress information from the usb keyboard. 2024-02-24 14:18:22 -08:00
Drew Galbraith 2cc9c89051 [Voyageurs] Send ConfigureEndpointCommand to device. 2024-02-24 09:23:58 -08:00
Drew Galbraith af69415d4d [Voyageurs] Get Configuration from USB device. 2024-02-24 08:25:22 -08:00
Drew Galbraith 39b6d32d86 [Voyageurs] Fix offset for physical trb address. 2024-02-23 14:46:28 -08:00
Drew Galbraith b0b7e2faff [Voyageurs] Send GetDescriptor command to the device. 2024-02-23 11:42:10 -08:00
Drew Galbraith 3d7e911045 [Voyageurs] Set LinkTrb Toggle Cycle bit. 2024-02-23 08:19:38 -08:00
Drew Galbraith 8e78950ac7 [Voyageurs] Send AddressDevice Command to move port to 'Addressed' State. 2024-02-22 18:16:08 -08:00
Drew Galbraith dd2687a59a [Voyageurs] Additional logging about command completion events. 2024-02-22 13:33:02 -08:00
Drew Galbraith 4cb0b0b2ae [Voyageurs] XHCI Event Segment working with polling. 2024-02-22 13:25:49 -08:00
Drew Galbraith b41784b938 [Voyageurs] Create an abstraction for managing TRBs. 2024-02-13 19:51:21 -08:00
Drew Galbraith 2228b5b52e [Voyageurs] First Pass XHCI Controller, resets the controller. 2024-02-06 20:51:16 -08:00
Drew Galbraith 3bacfea183 [Yellowstone] Add method to get XHCI configuration space. 2024-02-06 20:49:43 -08:00
Drew Galbraith 27c39d05e8 [Yunq] Add basic test for repeated fields. 2024-01-17 15:15:55 -08:00
Drew Galbraith 65e9fa1767 Update asm compiler for test-mem as well. 2024-01-17 14:56:32 -08:00
Drew Galbraith 9222f59da3 [Yunq] Add tests for capability serialization. 2024-01-17 14:31:52 -08:00