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
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