Commit Graph

277 Commits

Author SHA1 Message Date
Drew Galbraith 78624d5291 [Zion] Immediately schedule enqueued threads if we are sleeping. 2023-11-02 22:28:08 -07:00
Drew Galbraith c63a54d6b1 [Zion] Validate that started threads are in user space. 2023-11-02 22:23:32 -07:00
Drew Galbraith f8f839d8e7 [Glacier] Call an object's destructor in an ErrorOr 2023-11-02 22:16:06 -07:00
Drew Galbraith f31652b981 Add a way to restrict permissions on cap duplication. 2023-11-02 22:12:55 -07:00
Drew Galbraith 7dd10a3e53 [Zion] Remove dead ZMessage struct. 2023-11-02 21:57:29 -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 a2e80952c8 [Glacier] Add a StringView class and StrSplit method. 2023-11-02 20:23:28 -07:00
Drew Galbraith b6c220a350 [Yellowstone] Attempt to read a test file from the system root. 2023-11-02 19:28:27 -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 f815eb5614 [Yunq] Fix cmake variables. 2023-10-25 22:20:16 -07:00
Drew Galbraith 598816df12 [Yunq] Move yunq cmake macro to yunq dir. 2023-10-25 22:18:29 -07:00
Drew Galbraith 60de1ec9d3 [Yunq] Move example files into subdir. 2023-10-25 22:17:32 -07:00
Drew Galbraith c8dcc07d7d Update CMakeLists to autogen yunq files. 2023-10-25 21:53:55 -07:00
Drew Galbraith 0dbafbfa66 [Yunq] Reset cap buffers between server uses. 2023-10-25 20:46:36 -07:00
Drew Galbraith b85af8d0f8 [Yunq] Fix bug in logging reply errors. 2023-10-25 20:40:39 -07:00
Drew Galbraith 3e4fdfee84 [Denali] Move denali server to yunq. 2023-10-25 20:28:28 -07:00
Drew Galbraith acfaf26391 [Denali] Use mutexes to synchronize the AHCI responses.
This is a temporary solution to allow denali to migrate to the
yunq framework until we have a good async solution.
2023-10-25 19:39:09 -07:00
Drew Galbraith adfffdd3c3 [Yellowstone] Use mutex to wait for denali to spawn VFS.
Kind of a hacky way to pass a signal between threads but works as
a POC for thread synchronization.
2023-10-25 19:08:00 -07:00
Drew Galbraith 6cb0041253 [Mammoth] Create userspace mutex capability. 2023-10-25 19:07:36 -07:00
Drew Galbraith 4c04f9d561 [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
Drew Galbraith 4c2237fa72 [Yellowstone] Move yellowstone yunq def to yellowstone/lib/ 2023-10-24 23:49:42 -07:00
Drew Galbraith af0852a5fa [yellowstone] Update TODO. 2023-10-24 23:43:57 -07:00
Drew Galbraith 05e12aaa7d [Yellowstone] Move registration service to the main yellowstone service 2023-10-24 23:42:49 -07:00
Drew Galbraith b516087922 [Zion] Add the ability to pass capabilities via endpoint call. 2023-10-24 23:32:05 -07:00
Drew Galbraith 5b781bb394 Update READMEs and TODOs 2023-10-24 22:56:45 -07:00
Drew Galbraith 2b27af5814 [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
Drew Galbraith 9c9fd167cd [Yunq] Clean up codegen issues for client and server. 2023-10-24 18:19:12 -07:00
Drew Galbraith 71e3521b87 [yunq] Add codegen for clients and servers (untested). 2023-10-24 15:57:35 -07:00
Drew Galbraith 963cc0b4fa [Yunq] Move to using jinja for codegen. 2023-10-24 14:54:00 -07:00
Drew Galbraith 3faa19e4cb [Yunq] Cleanup codegen bugs. 2023-10-24 12:40:15 -07:00
Drew Galbraith d45f831b46 [Glacier] Add buffer types for holding bytes and capabilities. 2023-10-24 12:38:11 -07:00
Drew Galbraith ca5361b847 [Glacier] Add the [] operator to string. 2023-10-24 12:34:52 -07:00
Drew Galbraith 990dd4c1e1 [yunq] Add codegen for message parsing and serialization methods. 2023-10-13 15:04:25 -07:00
Drew Galbraith fdd2d693bc [glacier] Add default constructor for a string. 2023-10-13 15:03:35 -07:00
Drew Galbraith 28a6d543ec [Yunq] First pass at codegen for message headers and parsing. 2023-10-13 00:15:31 -07:00
Drew Galbraith 3323826f3b [Yunq] Check that the type of request and response is a message 2023-10-12 23:14:25 -07:00
Drew Galbraith 90d840879f [Yunq] Add identifier collision checking. 2023-10-12 23:04:11 -07:00
Drew Galbraith 19f7ba44c4 [Yunq] First pass at parsing the yunq idl for ipc.
Writing my own idl to make ipc simpler and allow easy passing of
capabilities between processes.
2023-10-12 22:46:37 -07:00
Drew Galbraith ee603b7478 [zion] Add a basic slab allocator to the kernel.
Don't free from the slab allocator yet but allocations appear to work.
2023-08-02 00:54:39 -07:00
Drew Galbraith e3a425e274 [zion] Use a separate stack for PF and GP faults in the kernel. 2023-08-01 23:11:12 -07:00
Drew Galbraith 259c64ef2a [zion] Check if scheduler exists in PF handler before trying to resolve 2023-08-01 23:10:20 -07:00
Drew Galbraith 35b1844862 [zion] Move all APIC functions into a global class. 2023-08-01 22:38:40 -07:00
Drew Galbraith f8de60e2dd [zion] Move more initialization into the ApicTimer class. 2023-08-01 21:48:20 -07:00
Drew Galbraith d99624daf6 [zion] Move to using the LAPIC timer over the PIT. 2023-08-01 20:18:47 -07:00
Drew Galbraith f0add6e0c3 [zion] Enforce cap transmit permissions in more places. 2023-08-01 18:43:48 -07:00
Drew Galbraith 4e9ad6a516 [zion] Begin requiring capability transmit permission.
As a first pass require the permission when passing a capability to a
new process.
2023-08-01 18:37:20 -07:00