Commit Graph

55 Commits

Author SHA1 Message Date
Drew Galbraith 9c860dd6a4 [Yunq] Add support for repeated nested fields 2024-01-11 22:09:42 -08:00
Drew Galbraith a48d63a664 [Yunq] Add support for nested fields in messages. 2024-01-11 21:32:08 -08:00
Drew Galbraith 984d8b143e [Yunq] Move message parser to shared internal function. 2024-01-11 20:47:39 -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 9e9ef21a3d [Yunq] POC for moving yunq parsing to a library. 2024-01-11 19:27:57 -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 d74918409c [VictoriaFallS] Refactor Ext2Driver to share inode reading code. 2024-01-11 18:29:05 -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 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 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 1614f2ae53 [VictoriaFalls] Create unowned cap to pass to yellowstone. 2023-11-27 08:31:55 -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 96a2f74e14 [Yunq] Release server cap on destructor. 2023-11-27 08:12:51 -08:00
Drew Galbraith b95c736825 [Yellowstone] Use yunq native empty requests and responses for service. 2023-11-27 08:06:04 -08:00
Drew Galbraith d0a3bf3936 [VictoriaFalls] Add a get directory ipc call for victoria falls. 2023-11-26 14:48:01 -08:00
Drew Galbraith 4fd17a59ea [Victoriafalls] Update ext2 driver to read doubly-indirect blocks. 2023-11-22 16:41:12 -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
Drew Galbraith 41bf78cf98 [Denali] Update the read many request to take a sector count as well.
This greatly reduces the size of the message (we had surpassed the 1
page - 4KiB message limit with the previous method).
2023-11-22 12:17:58 -08:00
Drew Galbraith deb2e708cd [Mammoth] Add a helper method for duplicating memory capabilities. 2023-11-19 20:35:55 -08:00
Drew Galbraith 8e827a5dfb [Mammoth] Move all callers of FromCapability to OwnedMemoryObject. 2023-11-19 20:33:15 -08:00
Drew Galbraith 337126cabb [Glacier] Update String to be non-copyable by default. 2023-11-19 19:14:37 -08:00
Drew Galbraith 7c105c8a31 [Sys] Successfully spin up a new process from disk. 2023-11-15 09:47:32 -08:00
Drew Galbraith 0e99189dba [Yellowstone] Try to spawn the teton process from disk. 2023-11-09 12:55:44 -08:00
Drew Galbraith 17ed4ca1f6 Fix remainder of formats in userland. 2023-11-05 09:25:11 -08:00
Drew Galbraith 26b61db021 Move userspace to a templated StrFormat. 2023-11-03 02:48:21 -07:00
Drew Galbraith f31652b981 Add a way to restrict permissions on cap duplication. 2023-11-02 22:12:55 -07:00
Drew Galbraith e66706d381 [Glacier] Convert ErrorCode into an Enum. 2023-11-02 21:55:12 -07:00
Drew Galbraith bcd9cf09bc [VictoriaFalls] Add the file size to VFS.OpenFile 2023-11-02 21:02:56 -07:00
Drew Galbraith d7050ff19f [VictoriaFalls] Implement Read File. 2023-11-02 20:57:28 -07:00
Drew Galbraith abf09d8fce [VictoriaFalls] Split the path when opening a file. 2023-11-02 20:24:33 -07:00
Drew Galbraith 38fb6ca170 [VictoriaFalls] Register VFS endpoint with yellowstone. 2023-11-02 18:55:05 -07:00
Drew Galbraith 48c7721b0f [VictoriaFalls] Add a VFS yunq stub and register it. 2023-10-25 23:08:45 -07:00
Drew Galbraith 3e4fdfee84 [Denali] Move denali server to yunq. 2023-10-25 20:28:28 -07:00
Drew Galbraith 2b27af5814 [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
Drew Galbraith 083ed52ddd [Victoria Falls] Print only the root directory information.
Move the InodeTable creating to the Init function which (somewhat)
requires us to stop taking the Ext2BlockReader as a reference (the reference
from the Init function goes out of scope). Make the Ext2BlockReader Init
function return a shared ptr by default.
2023-08-01 10:39:26 -07:00
Drew Galbraith bed685af65 [Victoria Falls] Clean up directory probe debug printing 2023-07-31 23:54:41 -07:00
Drew Galbraith 3dce058562 [Victoria Falls] Fix DirEntry member size 2023-07-31 23:42:52 -07:00
Drew Galbraith 2ff4334bea [victoriafalls] Begin traversing the root inode. 2023-07-06 10:40:55 -07:00
Drew Galbraith 150bfd2fd4 [victoriafalls] Move a superblock-based calculations to the block reader 2023-07-06 09:58:26 -07:00
Drew Galbraith 52b4b273b7 [victoriafalls] Add InodeTable class to cache Inode info 2023-07-06 09:39:17 -07:00