Commit Graph

13 Commits

Author SHA1 Message Date
Drew Galbraith 0b9e0adfbb [zion] Remove legacy capability table method. 2023-06-19 23:32:49 -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 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
Drew Galbraith b4902a79ef [zion] Add per-process CapabilityTable object
Store this information in it's own object to make the API clearer.
2023-06-16 14:25:54 -07:00
Drew Galbraith 0f0e39d1e9 Further parse AHCI information.
Send an IDENTIFY command to each drive and set up a hook to handle
interrupts.
2023-06-12 19:20:51 -07:00
Drew Galbraith 81b925eea0 Add a basic IPC setup with Channel Object.
Pass a process a channel endpoint on startup that it will use to
get it's initial capabilities.
2023-06-07 08:24:10 -07:00
Drew Galbraith 55340e2917 Make Capability RefCounted 2023-06-07 06:21:36 -07:00
Drew Galbraith 23895b5c6c Spawn Processes using memory primitives rather than and elf loader.
This allows us to remove the temporary syscall for that style of process
spawn.
2023-06-07 00:04:53 -07:00
Drew Galbraith b5ad454ad1 Move Process & Thread to the object folder. 2023-06-06 20:18:53 -07:00
Drew Galbraith 4e278a4664 Make a KernelObject base class for all Capabilities. 2023-06-06 20:13:07 -07:00
Drew Galbraith ef8eb5d993 Add a threading syscall API. 2023-06-06 16:24:03 -07:00
Drew Galbraith 69b5cd001f Add a skeleton framework for capabilities.
Use the first capability to spawn a child process.
2023-05-30 23:55:42 -07:00