Commit Graph

80 Commits

Author SHA1 Message Date
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 8e4cd1562f [Mammoth] Merge freed slices in buddy allocator. 2023-11-24 14:10:55 -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
Drew Galbraith 99a75a4a76 [Mammoth] Move request/response context to ipc/ folder. 2023-11-22 13:56:40 -08:00
Drew Galbraith f1cbfd18b7 [Mammoth] Move Mutex and Semaphore to a separate folder. 2023-11-22 13:45:04 -08:00
Drew Galbraith ad5b55bf37 [Mammoth] Move ipc calls to separate folder mammoth. 2023-11-22 13:41:14 -08:00
Drew Galbraith 4c2492e985 [Mammoth] Add a user-space semaphore object. 2023-11-22 10:55:40 -08:00
Drew Galbraith 0f2d6d7cc8 [Mammoth] Load non aligned ELF program sections properly.
Previously we would write into a memory object for an offset address but
when it would be mapped into the address space it would be page aligned.
2023-11-19 22:52:32 -08:00
Drew Galbraith 344e84c313 [Mammoth] Get rid of last uses of MappedMemoryRegion. 2023-11-19 20:48:23 -08:00
Drew Galbraith d41a565721 [Mammoth] Add an OwnedMemoryRegion for ContiguousPhysical. 2023-11-19 20:42:38 -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 ced89834de [Mammoth] Unmap an OwnedMemoryObject when it is deleted. 2023-11-19 19:03:20 -08:00
Drew Galbraith 3e9923f227 [Mammoth] Add an owned memory capability that cleans itself up. 2023-11-19 17:54:28 -08:00
Drew Galbraith 29fa8045af [Mammoth] Fix accidental fall through on mammoth init switch. 2023-11-19 17:30:39 -08:00
Drew Galbraith a3defbba53 [Mammoth] Fix formatting in init debug message. 2023-11-15 16:20:56 -08:00
Drew Galbraith fa6a5949b2 [Zion] Pass the framebuffer info to yellowstone init process. 2023-11-09 11:20:41 -08:00
Drew Galbraith 601f29c324 [Glacier] Add a specific VariableStringBuilder for StrFormat. 2023-11-09 08:52:30 -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 6cb0041253 [Mammoth] Create userspace mutex capability. 2023-10-25 19:07:36 -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 2b27af5814 [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
Drew Galbraith d45f831b46 [Glacier] Add buffer types for holding bytes and capabilities. 2023-10-24 12:38:11 -07:00
Drew Galbraith 8f84f8c3ca [zion] Remove temp PCI Memory Object create function.
Pass the PCI memory space to the yellowstone init process instead.
2023-08-01 17:13:19 -07:00
Drew Galbraith c70b5b0753 [mammoth] Run EndpointServer in its own thread. 2023-08-01 16:08:34 -07:00
Drew Galbraith caccb08e16 Generalize the EndpointServer to require less boilerplate.
Classes can now inherit from the EndpointServer and just implement the
HandleRequest function.
2023-08-01 15:52:08 -07:00
Drew Galbraith 52b4b273b7 [victoriafalls] Add InodeTable class to cache Inode info 2023-07-06 09:39:17 -07:00
Drew Galbraith c057da88ad [yellowstone] Add registration to yellowstone stub. 2023-07-05 15:01:29 -07:00
Drew Galbraith 16dd675828 [denali] Get Ahci device address from yellowstone. 2023-06-26 17:01:59 -07:00
Drew Galbraith 7f2530bc15 [zion] Rename cmake zion_lib to zion_stub. 2023-06-26 11:57:19 -07:00
Drew Galbraith 380953937f [mammoth] Rename cmake target to remove _lib 2023-06-26 11:56:09 -07:00
Drew Galbraith 90f33f31c5 [mammoth] Move EndpointClient to move-only semantics. 2023-06-26 11:54:36 -07:00
Drew Galbraith 2e89aee5a3 [mammoth] Update EndpointServer to have move-only semantics. 2023-06-26 11:38:17 -07:00
Drew Galbraith b7a962cc26 [mammoth] Finish separating PortServer and PortClient. 2023-06-26 08:59:28 -07:00
Drew Galbraith 5fb9fa6ae6 [mammoth] Move port server operations to their own class. 2023-06-26 08:41:44 -07:00
Drew Galbraith 7989c9d616 Remove libcxx stub library and move operator new to mammoth. 2023-06-26 08:29:14 -07:00
Drew Galbraith a46694d0f7 [yellowstone] Add yellowstone server for endpoint registration. 2023-06-22 02:19:16 -07:00
Drew Galbraith 36d82370c1 [zion] Add a thread wait syscall 2023-06-22 02:17:50 -07:00
Drew Galbraith f0e8ce14a4 [victoria] Create and start VictoriaFalls process 2023-06-22 00:22:59 -07:00