Drew Galbraith
0aa38ac4a4
[denali] Make denali less noisy on interrupt
2023-06-19 21:51:53 -07:00
Drew Galbraith
685070d65e
Get rid of the type field on zmessage
2023-06-17 02:01:21 -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
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
4c936623b5
Specify our target in .ccls
2023-06-16 23:15:41 -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
e5da93757a
Working AHCI DMA IPC from yellowstone to denali.
...
We have a weird bug in context switching where a process's rsp0 ends up
pointing at the wrong value sometimes which crashes the OS.
2023-06-16 01:31:23 -07:00
Drew Galbraith
ffa2d97a64
First iteration of denali server
2023-06-15 16:20:29 -07:00
Drew Galbraith
b8b6576b7f
Cleanup AHCI Ident a bit and reduce logging
2023-06-12 23:32:24 -07:00
Drew Galbraith
6986f534f8
Add a method for blocking threads on ports.
...
Additionally add the first lock class since we are becoming more
concurrent.
2023-06-12 20:56:25 -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
30bb10207e
Add the Denali disk driver.
...
Begin enumerating information from the PCI structure and HBA AHCI
structures.
Currently the PCI structure address is hardcoded but it should be
passed via a capability from the init process in the future.
2023-06-08 02:36:59 -07:00
Drew Galbraith
50201fe6df
Updated PCIe walk to be recursive and dump the offset of the sata drive
2023-06-08 00:24:50 -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
7c9d1075eb
Move sys/test to Yellowstone init process.
2023-06-07 11:18:35 -07:00
Drew Galbraith
6f81520918
Refactor compile flags
2023-06-07 11:09:27 -07:00
Drew Galbraith
010e261dc7
Add a libcxx with a new operator
2023-06-07 10:48:59 -07:00
Drew Galbraith
dcc05f2741
Add a libc skeleton with a primitive malloc.
2023-06-07 10:33:10 -07:00
Drew Galbraith
40b21d9c75
[Mammoth] Add Channel object for simple IPC messages
2023-06-07 09:37:16 -07:00
Drew Galbraith
65439c163a
Compile sys libraries without exceptions.
2023-06-07 09:36:14 -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
6c10c57bfa
Mass rename memory object variables.
...
Use shorthand:
AddressSpace -> vmas
MemoryObject -> vmmo
The VM prefix makes these a little more distinguishable in code.
2023-06-07 00:30:26 -07:00
Drew Galbraith
e246f28d9c
Get the second process elf from a MemoryObject instead of hardcoding.
...
Allows us to delete the CopyIntoNonResidentProcess function and simply
rely on the MemoryObject copy functions.
2023-06-07 00:19:15 -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
41d25a7b46
Reformat includes
2023-06-06 17:12:08 -07:00
Drew Galbraith
174d4b10fb
Move threading calls into a basic user space library.
2023-06-06 16:56:19 -07:00
Drew Galbraith
ef8eb5d993
Add a threading syscall API.
2023-06-06 16:24:03 -07:00
Drew Galbraith
a092a57483
Begin defining the process/thread api
2023-06-06 15:01:31 -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
Drew Galbraith
3c3341a90f
Add a process spawn syscall and use it to start a proc.
...
Also add a skeleton VirtualMemory manager to be used per process.
2023-05-30 20:55:03 -07:00
Drew Galbraith
5bcf1f4e4a
Add a second process to be loaded by the bootloader.
2023-05-30 20:54:37 -07:00
Drew Galbraith
aefb4f082b
Add a kernel ELF module and load it in a new process.
...
Don't yet jump to userspace.
2023-05-29 00:32:54 -07:00