Drew Galbraith
4ee4f9cb87
[Zion] Fix thread start checks and add logging.
2023-11-25 13:06:50 -08:00
Drew Galbraith
f9ce4a4a8e
[Zion] Don't ignore DriverManager Register return code.
2023-11-25 13:06:14 -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
46ae5de30a
[Zion] Free paging structures after process exit.
2023-11-24 17:19:32 -08:00
Drew Galbraith
39ac0216dd
[Zion] Free all user space mappings when exitting a process.
2023-11-24 17:08:37 -08:00
Drew Galbraith
e50d3f8abc
[Zion] Remove all capabilities on process cleanup.
2023-11-24 17:05:11 -08:00
Drew Galbraith
430dc36728
[Zion] Add TODO to separate user stacks for safety.
2023-11-24 16:57:00 -08:00
Drew Galbraith
85b701ce31
[Zion] Clarify kernel stack reuse in a comment.
2023-11-24 16:55:45 -08:00
Drew Galbraith
2dd69f5844
[Zion] Map user stacks in as regular MemoryObjects.
...
This allows us to easily track the physical memory so it
can be freed when the thread exits. It also simplifies the page fault
handler as it just needs to check regular mappings to find a user stack.
2023-11-24 16:51:35 -08:00
Drew Galbraith
ba1b4df702
[Zion] Add more context to GPT faults in the interrupt handler.
2023-11-24 16:49:05 -08:00
Drew Galbraith
7695396980
[Zion] Add released User Stacks to pool for reuse.
2023-11-24 16:16:25 -08:00
Drew Galbraith
d1ace374b6
[Zion] Return freed kernel stacks to pool.
2023-11-24 16:04:40 -08:00
Drew Galbraith
8fb5b7c03c
[Zion] Move existing proc/thread cleanup calls to the cleanup thread.
2023-11-24 15:40:44 -08:00
Drew Galbraith
8bedc80caf
[Zion] Add a max depth to stack unwinds.
2023-11-24 15:04:19 -08:00
Drew Galbraith
cb590c96b8
[Zion] Add a proc/thread cleanup thread for future use.
2023-11-24 15:04:03 -08:00
Drew Galbraith
d44be91099
[Zion] Add an argument to memory align a mapping.
2023-11-23 18:52:28 -08:00
Drew Galbraith
c8931a01c8
[Zion] Fix physical page usage tracking.
2023-11-23 07:20:11 -08:00
Drew Galbraith
84e1b4cdb4
[Zion] Plumb user stack to free function on thread exit.
2023-11-23 07:12:23 -08:00
Drew Galbraith
941d7c8d59
[Zion] Add a way to unwind the stack and recover from user-space faults.
2023-11-22 18:25:08 -08:00
Drew Galbraith
9f0e87b51d
[Glacier] Add proper string formatting for ErrorCodes.
2023-11-22 12:17:10 -08:00
Drew Galbraith
a93aa3a426
[Zion] Add an invalid opcode handler.
2023-11-22 12:10:18 -08:00
Drew Galbraith
76fd3fc176
Update TODOs to reflect completed tasks.
2023-11-22 11:00:21 -08:00
Drew Galbraith
da3901e104
[Zion] Add a semaphore primitive with related syscalls.
2023-11-22 10:19:56 -08:00
Drew Galbraith
96063126cb
[Zion] Add task switching for SSE registers and enable them in userspace.
2023-11-21 15:52:17 -08:00
Drew Galbraith
2a984a93ec
[Zion] Add a shim Floating Point Exception handler.
2023-11-21 15:17:32 -08:00
Drew Galbraith
0b8e2d8268
[Zion] Modify the alignement of the initial user stack pointer.
2023-11-21 14:53:59 -08:00
Drew Galbraith
a1e1e1c2d8
[Zion] Enable SSE instructions at the start of boot.
...
These aren't ready to be used yet as we need to save them on task
switch.
2023-11-20 16:40:07 -08:00
Drew Galbraith
9b43d615a9
[Zion] Split free physical memory into two lists.
...
Allow partitioning create requests so for large continuous requests
we don't have to iterate past a bunch of single free pages.
2023-11-20 10:02:27 -08:00
Drew Galbraith
12ca4e4e89
[Zion] Separate Memory "Views" to a separate MemoryObject.
2023-11-19 23:22:56 -08:00
Drew Galbraith
a8ad225cf1
[Zion] Make the base MemoryObject pure abstract.
2023-11-19 23:17:12 -08:00
Drew Galbraith
4d1846a7d5
[Zion] Actually free memory pages when a MemoryObject goes out of scope
2023-11-19 21:37:30 -08:00
Drew Galbraith
8e827a5dfb
[Mammoth] Move all callers of FromCapability to OwnedMemoryObject.
2023-11-19 20:33:15 -08:00
Drew Galbraith
337126cabb
[Glacier] Update String to be non-copyable by default.
2023-11-19 19:14:37 -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
e668428d9d
[Zion] Move Memory Mappings to a dedicated tree impl.
2023-11-19 18:45:13 -08:00
Drew Galbraith
7d48dd2b8b
[Zion] Add the ability to delete a capability.
2023-11-19 17:53:56 -08:00
Drew Galbraith
2e08eb76ff
[zion] Move process.CheckState() to prevent infinite loop on thread exit.
2023-11-19 17:31:01 -08:00
Drew Galbraith
70bdb822a7
[Zion] Add implementation of KernelVmm::FreeKernelStack.
2023-11-19 17:29:09 -08:00
Drew Galbraith
308dd6a203
[Zion] Add a framework for better process exit.
2023-11-16 23:03:27 -08:00
Drew Galbraith
aa2d80b557
[Zion] Move ProcessManager to map as well.
2023-11-16 22:17:11 -08:00
Drew Galbraith
6e227e1cf6
[Zion/Glacier] Add a HashMap to store process capabilities.
2023-11-16 22:12:00 -08:00
Drew Galbraith
e1dc790155
[Zion] Clear interrupts on panic to actually hault the machine.
2023-11-16 22:10:54 -08:00
Drew Galbraith
e4deca716c
[Zion] Use range based for loop on LinkedList as POC.
2023-11-15 18:50:58 -08:00
Drew Galbraith
46d02e5eae
[Zion] Remove sleeping messages.
2023-11-15 16:27:09 -08:00
Drew Galbraith
c080c61398
[Denali] Reduce noise on AHCI interrupt.
2023-11-15 16:21:19 -08:00
Drew Galbraith
e642f3900f
[Zion] Print less about acpi on boot.
2023-11-15 16:09:36 -08:00
Drew Galbraith
9e76c81e97
[Zion] Move Kernel Stack Memory constants to separate file.
2023-11-15 15:55:24 -08:00
Drew Galbraith
07e6e3028d
[Zion] Access the KernelStackManager through the VMM.
2023-11-15 15:38:25 -08:00
Drew Galbraith
c5b9d20c7e
[Zion] Remove early_dbgln since dbgln no longer allocs.
2023-11-15 15:19:02 -08:00