Commit graph

166 commits

Author SHA1 Message Date
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
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
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
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
7f2530bc15 [zion] Rename cmake zion_lib to zion_stub. 2023-06-26 11:57:19 -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
Drew Galbraith
dc63084d61 [zion] Move synchronization to the message queue 2023-06-21 23:57:23 -07:00
Drew Galbraith
9dd457391c [zion] Move IPC objects to share code 2023-06-21 23:47:45 -07:00
Drew Galbraith
58df2c0ed2 [zion] Move ipc syscalls to one file to prep refactor 2023-06-21 23:20:56 -07:00
Drew Galbraith
c064af5fa7 Endpoint syscalls implemented 2023-06-21 23:14:42 -07:00
Drew Galbraith
69501bfe01 [all] Add stub for new Endpoint kernel object 2023-06-21 21:43:27 -07:00
Drew Galbraith
0ec2fa3e76 [glacier] Move Pair to glacier. 2023-06-21 20:47:40 -07:00
Drew Galbraith
c2dfe17363 [zion] Use ErrorOr in PciConfiguration 2023-06-21 18:46:06 -07:00
Drew Galbraith
0b86a94f14 Migrate to error constants in glacier 2023-06-21 18:28:54 -07:00
Drew Galbraith
3ab9b4d818 [zion] Move Channel and Port blocked threads to IntrusiveList. 2023-06-21 16:34:30 -07:00
Drew Galbraith
a99096b0ff [zion] Move the scheduler to the IntrusiveList for runnable threads 2023-06-21 16:28:42 -07:00
Drew Galbraith
e1af79b975 [zion/glacier] Move RefPtr to glacier. 2023-06-21 15:07:40 -07:00
Drew Galbraith
8bcb574677 [zion/glacier] Move RefCounted to glacier. 2023-06-21 14:52:40 -07:00
Drew Galbraith
56eae3d4e5 [zion/glacier] Move SharedPtr to glacier 2023-06-21 14:48:29 -07:00
Drew Galbraith
f3443cf4de [zion] Link against glacier as a POC 2023-06-21 14:42:37 -07:00
Drew Galbraith
172bf51db7 [zion] Move capability validation to capability.h 2023-06-20 15:50:49 -07:00
Drew Galbraith
93cf8f2740 [zion] Cleanup syscall entrance. 2023-06-20 15:40:21 -07:00
Drew Galbraith
d60b2bdc61 [zion] Move channel to use the message queue. 2023-06-20 15:36:17 -07:00
Drew Galbraith
fe1641ac38 [zion] Create a message queue to be shared between the port and channel 2023-06-20 15:29:32 -07:00
Drew Galbraith
1edd5023ce [zion] Move the final syscalls to the new format. 2023-06-20 15:03:33 -07:00
Drew Galbraith
bd431b94ce [zion] Move port calls to new syscall process. 2023-06-20 14:55:54 -07:00
Drew Galbraith
77bb3acfb4 [zion] Move channel syscalls to new format. 2023-06-20 14:41:44 -07:00
Drew Galbraith
1a70ce4855 [zion] Move memory syscalls to the new format 2023-06-20 14:26:06 -07:00
Drew Galbraith
f755cd38fe [zion] Move thread syscalls to the new format. 2023-06-20 14:10:28 -07:00
Drew Galbraith
c6dd0bbb0f [zion] Migrate process syscalls to new format. 2023-06-20 14:01:43 -07:00
Drew Galbraith
76107b7db7 [zion] Handle syscall cases by macro as well. 2023-06-20 13:50:18 -07:00
Drew Galbraith
5fc7296b20 [zion] POC for defining syscalls using macros 2023-06-20 13:43:12 -07:00
Drew Galbraith
4fef54084f [zion] Remove legacy capability method. 2023-06-19 23:48:06 -07:00
Drew Galbraith
164309eada [zion] Add utility to zero out a page when allocating one. 2023-06-19 23:44:33 -07:00