Commit Graph

237 Commits

Author SHA1 Message Date
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
Drew Galbraith f0a27d30be [zion] Enfore Duplication permissions on capabilities. 2023-08-01 18:30:24 -07:00
Drew Galbraith 1364fbed9f [zion] Move to default permissions being supplied by KernelObjects 2023-08-01 18:22:41 -07:00
Drew Galbraith 48c6e5b3a4 [zion] Add a method for duplicating and scoping down VMMOs.
Use the AHCI section of the PCI config as an example POC of this.

We can now pass a memory capability instead of just the physical
address.
2023-08-01 17:46:26 -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 847d37addc [zion] Add info about APIC mapping 2023-08-01 11:19:48 -07:00
Drew Galbraith 3110087498 [zion] Don't dump process states on sleep 2023-08-01 10:42:53 -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 ef1b5ab9a4 Add a text file to the sysroot for testing ext2 2023-07-31 23:42:52 -07:00
Drew Galbraith db5c9ab859 [libc] Consume the %s format character in vsprintf
Previously we were outputing a single 's' after the string.
2023-07-31 23:42:52 -07:00
Drew Galbraith f8f8c854eb [glacier] Fix glacier to build freestanding 2023-07-19 20:50:19 -07:00
Drew Galbraith 2ff4334bea [victoriafalls] Begin traversing the root inode. 2023-07-06 10:40:55 -07:00
Drew Galbraith f7fb4f4ddc [glacier] Add a method to build a bounded string 2023-07-06 10:40:36 -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
Drew Galbraith 21c1a001ea [victoriafalls] Move the block to lba translation to a small wrapper.
Abstract this away into a thin wrapper over the denali client such that
it can be called from other helper classes.
2023-07-05 23:19:25 -07:00
Drew Galbraith a49d13f1d1 [victoriafalls] Add an Ext2Driver class which probes the superblock. 2023-07-05 22:56:08 -07:00
Drew Galbraith 0274339cc9 [victoriafalls] Read some of the ext2 superblock as a POC 2023-07-05 17:17:39 -07:00
Drew Galbraith 29d9923f5a [yellowstone] Add a way to retrieve to denali client from yellowstone 2023-07-05 16:03:20 -07:00
Drew Galbraith b83385dfa6 [glacier] Don't implicitly convert error_or to bool 2023-07-05 16:02:47 -07:00
Drew Galbraith c057da88ad [yellowstone] Add registration to yellowstone stub. 2023-07-05 15:01:29 -07:00
Drew Galbraith 72483a3437 Add a yellowstone stub and partially migrate denali 2023-07-05 14:51:24 -07:00
Drew Galbraith 318356e54c [yellowstone] Log a line when MBR is incorrect 2023-07-05 14:33:00 -07:00
Drew Galbraith a8db218204 [denali] Relocate AHCI structures to memory we control 2023-07-05 14:32:19 -07:00
Drew Galbraith 1412c5b73e [denali] Factory construct the AHCI Driver 2023-06-26 17:35:51 -07:00
Drew Galbraith 16dd675828 [denali] Get Ahci device address from yellowstone. 2023-06-26 17:01:59 -07:00
Drew Galbraith 02e6b49d90 [glacier] Add a vector class 2023-06-26 15:46:03 -07:00
Drew Galbraith 64d355b20d [glacier] Move LinkedList to glacier. 2023-06-26 15:01:55 -07:00
Drew Galbraith 08abe776a4 [yellowstone] Rename yellowstonestub to yellowstone_stub. 2023-06-26 11:59:29 -07:00
Drew Galbraith 3c62ad8719 [denali] Rename libdenali to denali_stub 2023-06-26 11:58:29 -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 16c30d12fb [glacier] Update ErrorOr to work with Move. 2023-06-26 11:37:56 -07:00
Drew Galbraith 84d3c33938 [glacier] Add UniquePtr and Move 2023-06-26 11:37:31 -07:00
Drew Galbraith b7a962cc26 [mammoth] Finish separating PortServer and PortClient. 2023-06-26 08:59:28 -07:00