Commit Graph

551 Commits

Author SHA1 Message Date
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
Drew Galbraith 01e10fb47e Set asm att compiler to gcc in the test environment. 2024-01-17 14:25:54 -08:00
Drew Galbraith a98e66ac47 [Yunq] Add serialization tests for Types message. 2024-01-17 14:15:53 -08:00
Drew Galbraith 3114ac110a [Glacier] Fix string memory deletion (thanks valgrind)../scripts/qemu.sh 2024-01-17 14:14:33 -08:00
Drew Galbraith cd1304beae [Denali] Add back accidentally deleted files. 2024-01-17 14:12:46 -08:00
Drew Galbraith a1f0197e83 [Yunq] Add parse/serialize for i64 field along with tests. 2024-01-17 13:57:02 -08:00
Drew Galbraith e83720e67c [Yunq] Only generate client and server files if an interface exists. 2024-01-17 13:56:22 -08:00
Drew Galbraith fecaa387b0 [Yunq] Add a basic yunq test into libyunq. 2024-01-16 18:58:03 -08:00
Drew Galbraith 9c860dd6a4 [Yunq] Add support for repeated nested fields 2024-01-11 22:09:42 -08:00
Drew Galbraith 05f2403dc2 [Mammoth] Allow allocating slightly more memory. 2024-01-11 22:09:24 -08:00
Drew Galbraith a48d63a664 [Yunq] Add support for nested fields in messages. 2024-01-11 21:32:08 -08:00
Drew Galbraith 9e12531651 [Yunq] Move method numbers to a scheme set by the parser. 2024-01-11 21:00:51 -08:00
Drew Galbraith 3b91819a4b [Yunq] Move message fields to a numbering scheme set by the parser. 2024-01-11 20:59:20 -08:00