This website requires JavaScript.
Explore
Help
Sign In
drew
0 Followers
·
0 Following
Joined on
2023-03-07
Repositories
13
Projects
Packages
Public Activity
Starred Repositories
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 »
drew
pushed to
main
at
drew/acadia
2023-05-29 13:52:18 -07:00
a06c9dced4
Add thread and process states.
drew
pushed to
main
at
drew/acadia
2023-05-29 13:09:33 -07:00
8d87791fa2
Differentiate syscall handler by number.
6f5b65de30
Map user pages in the proper mode.
7184f527a0
Jump to user mode.
Compare 3 commits »
drew
pushed to
main
at
drew/acadia
2023-05-29 00:35:01 -07:00
aefb4f082b
Add a kernel ELF module and load it in a new process.
f86bbe6ea9
Wireframe for syscalls in place
Compare 2 commits »
drew
pushed to
main
at
drew/acadia
2023-05-18 13:57:28 -07:00
d3024211a7
Cycle through multiple tasks in multiple processes
7a3b4d2d42
Add true page fault handler.
0d275c72a1
Have processes enqueue their own threads
Compare 3 commits »
drew
pushed to
main
at
drew/acadia
2023-05-18 13:27:41 -07:00
cb41953354
Scheduler with working threads.
960cbf9519
Add Scheduler wireframe.
de2c96b848
Internal many paging_util functions.
fa2bb4df89
Added a PhysicalMemoryManager class.
4380590af2
Add new and delete operator implementations to the kernel heap.
Compare 5 commits »
First
Previous
...
11
12
13
14
15
Next
Last