Commit Graph

551 Commits

Author SHA1 Message Date
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
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 d74918409c [VictoriaFallS] Refactor Ext2Driver to share inode reading code. 2024-01-11 18:29:05 -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 1b18739403 Separate memory testing script and only generate Cmake dir if necessary. 2024-01-11 16:45:26 -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 83b0d9ab61 [Denali] Minor AHCI fixes 2024-01-11 15:09:41 -08:00
Drew Galbraith 21265e76ed [Denali] Reduce logging. 2023-12-08 15:27:32 -08:00
Drew Galbraith 0375306f5e [Denali] Record SATA device sector size and count. 2023-12-08 15:25:44 -08:00
Drew Galbraith e308d8e120 [Denali] Rename devices to ports. 2023-12-08 15:14:52 -08:00
Drew Galbraith 69ce3028fa [Denali] Move AHCI read to internal method as well. 2023-12-08 15:11:56 -08:00
Drew Galbraith 3e1da2bc90 [Denali] Add a simpler command method and use it to send identify. 2023-12-08 15:05:43 -08:00
Drew Galbraith e71017070f [Denali] No longer store Commands on the port. 2023-12-08 14:48:41 -08:00
Drew Galbraith 28a0f02b05 [Denali] Move signaling out of the command class. 2023-12-08 14:43:29 -08:00
Drew Galbraith d7c1022b7f [Zion] Print RBP on GP Fault. 2023-12-08 14:30:24 -08:00
Drew Galbraith d90c8eb1ef [Denali] Add identify device command. 2023-12-08 14:30:08 -08:00
Drew Galbraith 81469496d1 Add compile option to align stack for xmm usage. 2023-12-08 14:29:18 -08:00
Drew Galbraith b3bc1c44d7 [Denali] Refactore interrupt handling. 2023-12-08 11:11:20 -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 c530921bda [Denali] Reset AHCI controller when starting denali. 2023-12-07 22:33:29 -08:00
Drew Galbraith 8adde27d9b [Zion] Add a thread sleep call.
For now this can only sleep in increments of the scheduler quantum
(currently 50ms). It also uses a somewhat ineffecient way of tracking
the sleeping threads - it will scale linearly with the number of
sleeping threads.
2023-12-07 00:20:03 -08:00
Drew Galbraith 66e94ac41b [Glacier] Allow removing from an intrusive list. 2023-12-07 00:18:33 -08:00
Drew Galbraith 961389dee8 [Teton] Duplicate yellowstone cap before spawning processes. 2023-12-07 00:18:09 -08:00
Drew Galbraith ebe72af716 [Sys] Reduce debugging noise. 2023-12-06 23:29:48 -08:00
Drew Galbraith 8c95e66277 [VictoriaFalls] Skipp reading blocks indexed at 0. 2023-12-06 23:29:08 -08:00
Drew Galbraith 594a6aac54 Update README. 2023-12-05 17:02:16 -08:00
Drew Galbraith f1c67d88ed First pass at 0.1.0 release notes. 2023-12-05 16:51:45 -08:00
Drew Galbraith 067da8709c Update TODOs 2023-12-05 16:16:42 -08:00
Drew Galbraith 815a603c1c [Zion] Mark pages as not present before calling invlpg. 2023-12-05 16:11:37 -08:00
Drew Galbraith 1f8085f791 [Zion] Call invlpg when unmapping memory. 2023-12-05 15:53:42 -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 d9a4be6555 [Zion] Add a ProcessWait syscall. 2023-12-01 11:36:27 -08:00