Commit graph

648 commits

Author SHA1 Message Date
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
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