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
859fbf66da
[glacier] Create lib with scaffolding string class.
2023-06-21 14:42:23 -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
Drew Galbraith
0b9e0adfbb
[zion] Remove legacy capability table method.
2023-06-19 23:32:49 -07:00
Drew Galbraith
36a83b142b
[yellowstone] Use denali client to parse GPT
2023-06-19 22:58:00 -07:00
Drew Galbraith
45cf2115da
[denali] Add a stub client for denali
2023-06-19 22:57:08 -07:00
Drew Galbraith
a202bf2371
Have yellowstone dump the MBR/GPT tables
2023-06-19 21:54:40 -07:00
Drew Galbraith
0aa38ac4a4
[denali] Make denali less noisy on interrupt
2023-06-19 21:51:53 -07:00
Drew Galbraith
1cebe547c0
[zion] Allow the sleep thread to be preempted.
...
We can't yield it when the next thread is unblocked for now because it
may still be holding a lock that the prempted thread is waiting on.
2023-06-19 21:47:37 -07:00
Drew Galbraith
ec915338dc
Add struct reading from channels
2023-06-19 21:47:23 -07:00
Drew Galbraith
a15ab24d9b
[libc] Add %s to sprintf
2023-06-19 21:46:02 -07:00
Drew Galbraith
27f540e9ae
Move ipc calls to take a void*
2023-06-19 18:39:46 -07:00
Drew Galbraith
685070d65e
Get rid of the type field on zmessage
2023-06-17 02:01:21 -07:00
Drew Galbraith
7bd6aa42b0
[zion] Declare z_cap_t and start replacing existing types
2023-06-17 01:53:19 -07:00
Drew Galbraith
5e99dbf7d1
Refactor all Zion decls into one header
2023-06-17 01:45:53 -07:00
Drew Galbraith
7dcbbd671e
[denali] Get all caps from the init port.
...
This allows us to remove the bootstrap capabilities for good woo hoo!
2023-06-17 01:30:47 -07:00
Drew Galbraith
6e86ce67f0
[zion] Fix capability permission issues
2023-06-17 01:24:07 -07:00
Drew Galbraith
424b032146
[zion] Remove old debug messages
2023-06-17 01:09:48 -07:00
Drew Galbraith
bbc31a0d2b
[zion] Return proper code from PortCreate
2023-06-17 01:05:51 -07:00
Drew Galbraith
857b7fae03
[zion] Add a port send syscall
2023-06-17 01:05:10 -07:00
Drew Galbraith
cc191cd6bb
[zion] Add a syscall to duplicate capabilities
2023-06-17 00:59:44 -07:00
Drew Galbraith
378ced6b6c
[zion] Add a port create syscall
2023-06-17 00:31:02 -07:00
Drew Galbraith
09ac87e6f5
[yellowstone] Recieve all caps via init port.
2023-06-17 00:17:43 -07:00
Drew Galbraith
2ea1f90690
[zion] Add a direct port write for the kernel
2023-06-17 00:07:58 -07:00
Drew Galbraith
0a909eae0e
Print exit codes in hex
2023-06-17 00:03:09 -07:00
Drew Galbraith
528723e490
[mammoth] Create a method for getting initial caps.
2023-06-16 23:51:49 -07:00
Drew Galbraith
4c936623b5
Specify our target in .ccls
2023-06-16 23:15:41 -07:00
Drew Galbraith
35f24e7c77
Add a Port poll operation
2023-06-16 23:15:28 -07:00
Drew Galbraith
21b73b5b92
[zion] [yellowstone] Pass the denali VMMO by port as a POC.
...
Preparing to bootsrap via port write rather than hard coding capability
ids.
2023-06-16 15:58:50 -07:00
Drew Galbraith
75b1f2d21c
[zion] Store capability ids on the CapabilityTable.
...
This is preferable to storing it in the capability itself since the id
is really just an index for the containing process.
2023-06-16 15:27:09 -07:00
Drew Galbraith
b27672d5de
[zion] Update LinkedList iterator semantics.
2023-06-16 15:24:38 -07:00
Drew Galbraith
242a18ae3c
[zion] Finish cleaning up process capability interface.
...
Make all functions generic and specify existing/vs new cap.
2023-06-16 15:09:15 -07:00
Drew Galbraith
fc94bc5bf5
[zion] Update process interface to simplify capability insertion.
...
Take a templated KernelObject with explicit permissions.
2023-06-16 15:04:33 -07:00
Drew Galbraith
a47bac9966
[zion] Dynamically check Capability type.
...
Instead of passing an enum with the capability when creating it, relying
on polymorphism and a template struct tag to determine the object type
at runtime.
This is cleaner and avoids errors where we pass the wrong capability
type with the cap and do a bad cast at runtime.
2023-06-16 14:53:57 -07:00