Commit Graph

167 Commits

Author SHA1 Message Date
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 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 e7cc98a20c [Mammoth] Add the ability to duplicate an owned memory region. 2024-01-11 18:29:45 -08:00
Drew Galbraith be392252a4 [Glacier] Add HashMap move semantics. 2024-01-11 18:29:29 -08:00
Drew Galbraith 5eb72da9c8 Move glcr::Array & glcr::ArrayView loops to range-based. 2024-01-11 17:39:55 -08:00
Drew Galbraith 0a57d149b6 [Glacier] Add iterator to Array and ArrayView. 2024-01-11 17:39:31 -08:00
Drew Galbraith 66e7e95855 [Glacier] Factor Vector iterator logic into standalone class. 2024-01-11 17:32:06 -08:00
Drew Galbraith b2354ae341 Move many loops over glcr::Vector to range-based loops. 2024-01-11 17:13:35 -08:00
Drew Galbraith c06d1741f3 [Glacier] Add a vector iterator. 2024-01-11 16:59:10 -08:00
Drew Galbraith 36a09f98c9 [Glacier] Add a vector move contructor test. 2024-01-11 16:50:27 -08:00
Drew Galbraith 5f1053cf17 [Glacier] Add Vector tests with memory check. 2024-01-11 16:42:43 -08:00
Drew Galbraith 09d902dfb5 [Glacier] Add a basic unit testing framework. 2024-01-11 16:09:37 -08:00
Drew Galbraith e71017070f [Denali] No longer store Commands on the port. 2023-12-08 14:48:41 -08:00
Drew Galbraith 5a18d7d559 [Denali] Update HBA pointers to volatile. Store CommandList in arrayview. 2023-12-07 22:41:15 -08:00
Drew Galbraith 66e94ac41b [Glacier] Allow removing from an intrusive list. 2023-12-07 00:18:33 -08:00
Drew Galbraith 0b9f83b321 [Teton] Wait on spawned processes to exit. 2023-12-02 13:26:42 -08:00
Drew Galbraith 8c5dd00443 [Glacier] Add debug methods for HashMap and RefPtr. 2023-12-02 13:25:28 -08:00
Drew Galbraith 642fc4d80d [Zion/Mammoth] Move init cap decls to mammoth.
They no longer need to be independent now that we have removed the libc.
2023-12-01 10:42:26 -08:00
Drew Galbraith c209925a3c [Yunq] Return status from client calls. 2023-12-01 10:35:42 -08:00
Drew Galbraith 700f3f94cb [Yunq] Return status in server code. 2023-12-01 10:26:03 -08:00
Drew Galbraith 3eba0bd9d8 [Yunq] Check identify byte and ensure users check status code. 2023-12-01 09:42:11 -08:00
Drew Galbraith 7d9f9a7ae9 [Yunq] Create libyunq and move parsing code to it. 2023-12-01 09:30:52 -08:00
Drew Galbraith 6212aef336 [Yellowstone] Move yellowstone yunq to namespace "yellowstone" 2023-11-30 08:50:43 -08:00
Drew Galbraith ad7794c694 [Yunq] Delete client capability in destructor.
Add a method to the server class to create an unowned capability. This
makes it simpler to create a capability for passing to other processes.

Duplicate the init yellowstone cap when using it temporarily.
2023-11-27 08:29:01 -08:00
Drew Galbraith 43d7bfa7ad [Voyageurs] Use yunq native empty response for service. 2023-11-27 08:08:03 -08:00
Drew Galbraith e0bf7a9a1c [Mammoth] Add a call for listing a directory. 2023-11-26 14:48:20 -08:00
Drew Galbraith c8e5441c7f [Glacier] Add the ability to remove a character from a StringBuilder. 2023-11-26 13:39:18 -08:00
Drew Galbraith 134185117d [Teton] Handle Tab and Backspace. 2023-11-26 13:21:04 -08:00
Drew Galbraith f01b447af4 [Mammoth] Add keycodes for all non-fn keys. 2023-11-26 12:12:27 -08:00
Drew Galbraith a83893d110 [Mammoth] Add keycodes for most symbol scancodes and shift. 2023-11-26 11:48:30 -08:00
Drew Galbraith 2bc64b045c [Mammoth] Add a keyboard library that translates scancode to keycodes. 2023-11-26 11:21:56 -08:00
Drew Galbraith 1b7d2b9085 [Teton/Voyageurs] Subscribe to scancodes in teton and print them to screen.
Right now there appears to be an error with the font so that the
proper character is received but we write an incorect character to the
screen (off by one?).
2023-11-25 19:48:06 -08:00
Drew Galbraith 8365d47cbe [Voyageurs] Add a basic ps/2 keyboard driver. 2023-11-25 13:08:30 -08:00
Drew Galbraith 7151a509ee [Mammoth] clean up check crash (we log the error code in the kernel. 2023-11-25 13:07:59 -08:00
Drew Galbraith d9a936db09 [Glacier] Fix div0 bug when calling .Contains on empty hashmap. 2023-11-25 11:13:09 -08:00
Drew Galbraith 8e4cd1562f [Mammoth] Merge freed slices in buddy allocator. 2023-11-24 14:10:55 -08:00
Drew Galbraith 2a3d384336 [Glacier] Don't move const-refs in hashmap. 2023-11-24 14:10:16 -08:00
Drew Galbraith 7715a5898b [Mammoth] Naively free buddy allocated blocks.
We don't yet attempt to merge them with nearby blocks.
Currently this reduces the number of 2 page blocks we allocate down from
40 to 29.
2023-11-24 09:01:25 -08:00
Drew Galbraith 0915cf45dc Remove the basically-empty C library for now. 2023-11-24 08:48:16 -08:00
Drew Galbraith cbeb736e8c [Mammoth] Write a custom buddy allocator to replace libc malloc. 2023-11-23 18:55:02 -08:00
Drew Galbraith d44be91099 [Zion] Add an argument to memory align a mapping. 2023-11-23 18:52:28 -08:00
Drew Galbraith 8ceab2ad23 [Yellowstone] Use the file api to load the init file. 2023-11-22 16:58:13 -08:00
Drew Galbraith 86ce0a68a3 [Mammoth/Teton] Add an OpenFile interface and use it to load a font. 2023-11-22 16:42:42 -08:00
Drew Galbraith 8d730c67c1 [Mammoth] Move most classes to the mmth namespace. 2023-11-22 14:59:41 -08:00
Drew Galbraith 5f8d577948 [Mammoth] Move remaining classes to a shared folder. 2023-11-22 14:39:27 -08:00
Drew Galbraith c42fb858ba [Mammoth] Move thread and process to the proc/ folder 2023-11-22 14:10:10 -08:00