• Joined on 2023-03-07
drew pushed to main at drew/acadia 2023-06-12 23:47:14 -07:00
b8b6576b7f Cleanup AHCI Ident a bit and reduce logging
72885190e9 Resolved page faults from user stacks
6c13fdc801 Add a memory region type to mammoth
6986f534f8 Add a method for blocking threads on ports.
b6735d3175 [zion] Fix an over-allocation bug when creating a memory object
Compare 5 commits »
drew pushed to main at drew/acadia 2023-06-12 19:22:35 -07:00
0f0e39d1e9 Further parse AHCI information.
4e1888bd24 Set eflags properly for jump to userspace
8ac5366882 [zion] Add ability to dump MADT (APIC) tables
7cf54c0dd2 [mammoth] Fix accidental switch fall through in crash
832d2f6961 Allow default constructing mammoth threads
Compare 7 commits »
drew pushed to main at drew/acadia 2023-06-08 02:41:47 -07:00
30bb10207e Add the Denali disk driver.
47e3d11060 Add a syscall for creating a physical memory VMO
Compare 2 commits »
drew pushed to main at drew/acadia 2023-06-08 00:25:50 -07:00
50201fe6df Updated PCIe walk to be recursive and dump the offset of the sata drive
a2fd14a9a8 Update sprintf to allow 64 bit types
56789400d7 Allow mapping the PCI Config so Yellowstone can map it.
71a601362d [mammoth] Update dbgln to use sprintf
20dd43cdfb [libc] Add basic sprintf function
Compare 12 commits »
drew pushed to main at drew/acadia 2023-06-07 10:51:13 -07:00
010e261dc7 Add a libcxx with a new operator
drew pushed to main at drew/acadia 2023-06-07 10:49:06 -07:00
d6ba336b83 Add a libcxx with a new operator
dcc05f2741 Add a libc skeleton with a primitive malloc.
eb04242a59 Add a debug mode for the KernelHeap.
Compare 3 commits »
drew pushed to main at drew/acadia 2023-06-07 09:38:38 -07:00
40b21d9c75 [Mammoth] Add Channel object for simple IPC messages
65439c163a Compile sys libraries without exceptions.
3243b6024b Update init bg script to inclue AR
Compare 3 commits »
drew pushed to main at drew/acadia 2023-06-07 08:52:42 -07:00
a5c4d40575 Refactor error types and error reporting
81b925eea0 Add a basic IPC setup with Channel Object.
b79ec07636 Return Z_OK on all syscall paths
55340e2917 Make Capability RefCounted
Compare 4 commits »
drew pushed to main at drew/acadia 2023-06-07 00:32:27 -07:00
6c10c57bfa Mass rename memory object variables.
a8a4f8d9ab Add checks to mammoth thread lib
e246f28d9c Get the second process elf from a MemoryObject instead of hardcoding.
Compare 3 commits »
drew pushed to main at drew/acadia 2023-06-07 00:09:19 -07:00
eb454300e6 Move elf loader into the init loader in the kernel
23895b5c6c Spawn Processes using memory primitives rather than and elf loader.
Compare 2 commits »
drew pushed to main at drew/acadia 2023-06-06 21:46:51 -07:00
b06c76e477 Create a MemoryObject class and use it to load programs.
1fda0f3fae Move VirtualMemory to AddressSpace Object
Compare 2 commits »
drew pushed to main at drew/acadia 2023-06-06 20:20:09 -07:00
b5ad454ad1 Move Process & Thread to the object folder.
4e278a4664 Make a KernelObject base class for all Capabilities.
d358c1d672 Move process be to RefCounted
2e1357255c Create a RefCounted type and use it for Thread.
d9b17d96d7 Cleanup Thread constructor
Compare 6 commits »
drew pushed to main at drew/acadia 2023-06-06 16:57:37 -07:00
174d4b10fb Move threading calls into a basic user space library.
b0c2a6732b Always create threads in CREATED state.
ef8eb5d993 Add a threading syscall API.
e2aad55a8a Only dump bootloader modules once.
a092a57483 Begin defining the process/thread api
Compare 5 commits »
drew pushed to main at drew/acadia 2023-05-31 00:04:31 -07:00
e3661e7848 Add LICENSE and README
drew pushed to main at drew/acadia 2023-05-30 23:58:13 -07:00
69b5cd001f Add a skeleton framework for capabilities.
09b8136ef9 Fix formatting on panic
69c73a9386 Add a qemu mode that dumps interrupt info.
9e3df0ccd0 Add pid/tid to all log messages
Compare 4 commits »
drew pushed to main at drew/acadia 2023-05-30 22:36:47 -07:00
2eefda6114 add a class to allocate and manage user space stacks
1db93e5b12 Move PML4 initialization into the VirtualMemory class.
f22dd66c8d Manage KernelStacks separately rather than just allocing bytes.
3c3341a90f Add a process spawn syscall and use it to start a proc.
5bcf1f4e4a Add a second process to be loaded by the bootloader.
Compare 5 commits »
drew pushed to main at drew/acadia 2023-05-30 01:29:36 -07:00
b9b45c5e45 Add the ability to copy memory to non resident process.
f6609983d2 Move away from using recursive mapping for page tables.
c6921b5459 Add validity check in shared ptr
Compare 3 commits »
drew pushed to main at drew/acadia 2023-05-29 23:51:56 -07:00
de49dcc01a Move scheduler to new global class format.
7fe6c24aa5 Add a ProcessManager class to store Process objects.
Compare 2 commits »
drew pushed to main at drew/acadia 2023-05-29 23:11:34 -07:00
b58186265e Split Yield and Preempt into separate scheduling functions.
3fee5ac9d7 Rework scheduler to store the current thread separately.
656687b183 Schedule on PIC timer raise.
496dfeaef9 Update the timer to a more reasonable time slice of 50ms
9869d1022a Mask all interrupts on the master PIC except the timer.
Compare 7 commits »
drew pushed to main at drew/acadia 2023-05-29 15:53:06 -07:00
80d2bf1aaa Move Processes and Threads to be stored in SharedPtr
9f3ffbf5b4 Move Process to storing Threads in a linked list.
5cab9f843e Move process list to a linked list.
71196dc90f Move scheduler threads to a linked list implementation.
Compare 4 commits »