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
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
30bb10207e
Add the Denali disk driver.
47e3d11060
Add a syscall for creating a physical memory VMO
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
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.
40b21d9c75
[Mammoth] Add Channel object for simple IPC messages
65439c163a
Compile sys libraries without exceptions.
3243b6024b
Update init bg script to inclue AR
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
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.
eb454300e6
Move elf loader into the init loader in the kernel
23895b5c6c
Spawn Processes using memory primitives rather than and elf loader.
b06c76e477
Create a MemoryObject class and use it to load programs.
1fda0f3fae
Move VirtualMemory to AddressSpace Object
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
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
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
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.
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
de49dcc01a
Move scheduler to new global class format.
7fe6c24aa5
Add a ProcessManager class to store Process objects.
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.
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.