Drew Galbraith
8365d47cbe
[Voyageurs] Add a basic ps/2 keyboard driver.
2023-11-25 13:08:30 -08:00
Drew Galbraith
7151a509ee
[Mammoth] clean up check crash (we log the error code in the kernel.
2023-11-25 13:07:59 -08:00
Drew Galbraith
24bcff2e40
[Yunq] Fix syntax error in yunq.
2023-11-25 13:07:27 -08:00
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
d9a936db09
[Glacier] Fix div0 bug when calling .Contains on empty hashmap.
2023-11-25 11:13:09 -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
8e4cd1562f
[Mammoth] Merge freed slices in buddy allocator.
2023-11-24 14:10:55 -08:00
Drew Galbraith
2a3d384336
[Glacier] Don't move const-refs in hashmap.
2023-11-24 14:10:16 -08:00
Drew Galbraith
7715a5898b
[Mammoth] Naively free buddy allocated blocks.
...
We don't yet attempt to merge them with nearby blocks.
Currently this reduces the number of 2 page blocks we allocate down from
40 to 29.
2023-11-24 09:01:25 -08:00
Drew Galbraith
0915cf45dc
Remove the basically-empty C library for now.
2023-11-24 08:48:16 -08:00
Drew Galbraith
cbeb736e8c
[Mammoth] Write a custom buddy allocator to replace libc malloc.
2023-11-23 18:55:02 -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
8ceab2ad23
[Yellowstone] Use the file api to load the init file.
2023-11-22 16:58:13 -08:00
Drew Galbraith
86ce0a68a3
[Mammoth/Teton] Add an OpenFile interface and use it to load a font.
2023-11-22 16:42:42 -08:00
Drew Galbraith
4fd17a59ea
[Victoriafalls] Update ext2 driver to read doubly-indirect blocks.
2023-11-22 16:41:12 -08:00
Drew Galbraith
8d730c67c1
[Mammoth] Move most classes to the mmth namespace.
2023-11-22 14:59:41 -08:00
Drew Galbraith
5f8d577948
[Mammoth] Move remaining classes to a shared folder.
2023-11-22 14:39:27 -08:00
Drew Galbraith
c42fb858ba
[Mammoth] Move thread and process to the proc/ folder
2023-11-22 14:10:10 -08:00
Drew Galbraith
99a75a4a76
[Mammoth] Move request/response context to ipc/ folder.
2023-11-22 13:56:40 -08:00
Drew Galbraith
f1cbfd18b7
[Mammoth] Move Mutex and Semaphore to a separate folder.
2023-11-22 13:45:04 -08:00
Drew Galbraith
ad5b55bf37
[Mammoth] Move ipc calls to separate folder mammoth.
2023-11-22 13:41:14 -08:00
Drew Galbraith
19e394ae7b
[Yellowstone] Use semaphores for handling yellowstone registration.
2023-11-22 13:30:59 -08:00
Drew Galbraith
41bf78cf98
[Denali] Update the read many request to take a sector count as well.
...
This greatly reduces the size of the message (we had surpassed the 1
page - 4KiB message limit with the previous method).
2023-11-22 12:17:58 -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
2efa13ab43
[Glacier] Add a status object to hold error and a message.
2023-11-22 11:34:02 -08:00
Drew Galbraith
28d9e37b87
[Glacier] Move hashmap to a real hash implementation.
2023-11-22 11:19:21 -08:00
Drew Galbraith
76fd3fc176
Update TODOs to reflect completed tasks.
2023-11-22 11:00:21 -08:00
Drew Galbraith
2b8ae027df
[Denali] Use semaphores for DMA callback signaling.
2023-11-22 10:56:07 -08:00
Drew Galbraith
4c2492e985
[Mammoth] Add a user-space semaphore object.
2023-11-22 10:55:40 -08:00
Drew Galbraith
da3901e104
[Zion] Add a semaphore primitive with related syscalls.
2023-11-22 10:19:56 -08:00
Drew Galbraith
2df1f6c006
[Teton] Print out every character into the framebuffer as a test.
2023-11-22 08:56:26 -08:00
Drew Galbraith
afdb024c36
[Teton] Factor drawing glyphs to screen into a separate class.
2023-11-21 19:32:31 -08:00
Drew Galbraith
fe44804dd9
[Teton] Load a font file and write a character to the screen.
2023-11-21 19:14:02 -08:00