Commit graph

60 commits

Author SHA1 Message Date
bddf26b645 Revert "[Zion][Yellowstone] First pass at adding PCI ioport access."
This reverts commit b677633248.
2025-05-08 00:33:58 -07:00
Drew Galbraith
b677633248 [Zion][Yellowstone] First pass at adding PCI ioport access. 2025-05-07 01:44:09 -07:00
Drew Galbraith
f26fd73116 [Zion][Denali] Move to MSI for AHCI devices.
This will allow us to properly do interrupts for XHCI devices in the
future.

Also move PCI device header parsing to a shared library.

Get rid of the old irq register format which supplied an irq number and
instead pass the appropriate irq number back out to the caller.
2025-05-05 23:14:01 -07:00
Drew Galbraith
76f8795a46 Implement yunq server in rust. 2024-07-31 19:59:46 -07:00
Drew Galbraith
8adde27d9b [Zion] Add a thread sleep call.
For now this can only sleep in increments of the scheduler quantum
(currently 50ms). It also uses a somewhat ineffecient way of tracking
the sleeping threads - it will scale linearly with the number of
sleeping threads.
2023-12-07 00:20:03 -08:00
Drew Galbraith
d9a4be6555 [Zion] Add a ProcessWait syscall. 2023-12-01 11:36:27 -08:00
Drew Galbraith
642fc4d80d [Zion/Mammoth] Move init cap decls to mammoth.
They no longer need to be independent now that we have removed the libc.
2023-12-01 10:42:26 -08:00
Drew Galbraith
838ef01a2a [Zion] Add a keyboard interrupt handler and a driver manager. 2023-11-25 11:14:30 -08:00
Drew Galbraith
d44be91099 [Zion] Add an argument to memory align a mapping. 2023-11-23 18:52:28 -08:00
Drew Galbraith
da3901e104 [Zion] Add a semaphore primitive with related syscalls. 2023-11-22 10:19:56 -08:00
Drew Galbraith
2e4a12661d [Zion] Add a syscall to get a memory object's length. 2023-11-19 19:02:55 -08:00
Drew Galbraith
30b6511467 [Zion] Add a AddressSpaceUnmap syscall to free memory. 2023-11-19 18:55:44 -08:00
Drew Galbraith
7d48dd2b8b [Zion] Add the ability to delete a capability. 2023-11-19 17:53:56 -08:00
Drew Galbraith
fa6a5949b2 [Zion] Pass the framebuffer info to yellowstone init process. 2023-11-09 11:20:41 -08:00
Drew Galbraith
f31652b981 Add a way to restrict permissions on cap duplication. 2023-11-02 22:12:55 -07:00
Drew Galbraith
4c04f9d561 [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
Drew Galbraith
b516087922 [Zion] Add the ability to pass capabilities via endpoint call. 2023-10-24 23:32:05 -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
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
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
0b86a94f14 Migrate to error constants in glacier 2023-06-21 18:28:54 -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
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
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
528723e490 [mammoth] Create a method for getting initial caps. 2023-06-16 23:51:49 -07:00
Drew Galbraith
35f24e7c77 Add a Port poll operation 2023-06-16 23:15:28 -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
47e3d11060 Add a syscall for creating a physical memory VMO 2023-06-08 02:36:47 -07:00
Drew Galbraith
56789400d7 Allow mapping the PCI Config so Yellowstone can map it.
This is a temp system call. Evemtually we should probably supply the
root process with all of the system physical memory objects.
2023-06-07 22:45:42 -07:00
Drew Galbraith
40b21d9c75 [Mammoth] Add Channel object for simple IPC messages 2023-06-07 09:37:16 -07:00
Drew Galbraith
a5c4d40575 Refactor error types and error reporting 2023-06-07 08:51:23 -07:00