Commit Graph

540 Commits

Author SHA1 Message Date
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
Drew Galbraith ee341fa739 Draft 0.1.1 release notes added with work so far. 2024-01-11 20:53:31 -08:00
Drew Galbraith 984d8b143e [Yunq] Move message parser to shared internal function. 2024-01-11 20:47:39 -08:00
Drew Galbraith a71d5e9d24 [Yunq] Explicitly specialize serialization template functions.
While this may end up with some duplicated code, it helps avoid
accidentally generating code for a type that we didn't intend to.
This will help in the future because we will get a linker error rather
than wonky runtime behavior.
2024-01-11 20:41:51 -08:00
Drew Galbraith 7ec4f696a8 [Yunq] Move serialization to yunq library. 2024-01-11 20:36:41 -08:00
Drew Galbraith 0135d8d844 [Yunq] Accept a message view on message parsing. 2024-01-11 20:03:34 -08:00
Drew Galbraith 75d84a0fa5 [Yunq] Read capabilities using the parsing library. 2024-01-11 19:59:36 -08:00
Drew Galbraith 0e6aa532a1 [Yunq] Move MessageView higher in call stack. 2024-01-11 19:51:18 -08:00
Drew Galbraith 30b220b2fb [Yunq] Move repeated field parsing to the yunq library. 2024-01-11 19:36:24 -08:00
Drew Galbraith 9e9ef21a3d [Yunq] POC for moving yunq parsing to a library. 2024-01-11 19:27:57 -08:00
Drew Galbraith 8a711266ef [Zion] Fix init program loader debugging. 2024-01-11 19:02:15 -08:00
Drew Galbraith 7b8528ea99 [VictoriaFallS] Cache the results of reading inodes.
This reduces the number of reads when starting up the OS by ~30% (32-23
for a basic use case).

In the future we should cache things using a BTree in the VFS but this
is sufficient for now.
2024-01-11 18:29:51 -08:00