Drew Galbraith
b51d5966d4
[Zion] Zero-out thread fx_data_ on creation.
2025-05-07 01:45:46 -07:00
Drew Galbraith
b677633248
[Zion][Yellowstone] First pass at adding PCI ioport access.
2025-05-07 01:44:09 -07:00
Drew Galbraith
0dfa6008ec
Enable bochs terminal output.
2025-05-06 22:26:00 -07:00
Drew Galbraith
5a20c23569
First pass at getting Acadia running under bochs.
...
- Create a bochs build script.
- Properly configure COM1
2025-05-06 22:22:02 -07:00
Drew Galbraith
f26fd73116
[Zion][Denali] Move to MSI for AHCI devices.
...
This will allow us to properly do interrupts for XHCI devices in the
future.
Also move PCI device header parsing to a shared library.
Get rid of the old irq register format which supplied an irq number and
instead pass the appropriate irq number back out to the caller.
2025-05-05 23:14:01 -07:00
Drew Galbraith
f918966727
[Zion] Don't try to set state on dying threads in cleanup.
2025-05-03 14:54:03 -07:00
Drew Galbraith
feb7c8e839
Increase scheduler frequency.
2025-02-01 14:29:08 -08:00
Drew Galbraith
c4613cf87f
Move to new limine format.
2025-01-25 23:26:01 -08:00
Drew Galbraith
0aa4a1f5f1
[Zion] Allow loading from an offset program segment.
2024-08-17 20:18:54 -07:00
Drew Galbraith
7825d1861a
[Zion] Check right permission for reply port send.
2024-08-17 17:49:06 -07:00
Drew Galbraith
19a8ab41d4
[Zion] Make sure result of ValidateCapability is used.
2024-08-17 17:14:30 -07:00
Drew Galbraith
8206e671cd
[Zion] Add extra message for when unmap fails.
2024-08-17 12:54:09 -07:00
Drew Galbraith
71431189c9
[Zion] Ensure memory alignment of large allocations.
2024-08-17 12:53:25 -07:00
Drew Galbraith
76f8795a46
Implement yunq server in rust.
2024-07-31 19:59:46 -07:00
Drew Galbraith
cd1304beae
[Denali] Add back accidentally deleted files.
2024-01-17 14:12:46 -08:00
Drew Galbraith
fecaa387b0
[Yunq] Add a basic yunq test into libyunq.
2024-01-16 18:58:03 -08:00
Drew Galbraith
8a711266ef
[Zion] Fix init program loader debugging.
2024-01-11 19:02:15 -08:00
Drew Galbraith
5eb72da9c8
Move glcr::Array & glcr::ArrayView loops to range-based.
2024-01-11 17:39:55 -08:00
Drew Galbraith
b2354ae341
Move many loops over glcr::Vector to range-based loops.
2024-01-11 17:13:35 -08:00
Drew Galbraith
d7c1022b7f
[Zion] Print RBP on GP Fault.
2023-12-08 14:30:24 -08:00
Drew Galbraith
8adde27d9b
[Zion] Add a thread sleep call.
...
For now this can only sleep in increments of the scheduler quantum
(currently 50ms). It also uses a somewhat ineffecient way of tracking
the sleeping threads - it will scale linearly with the number of
sleeping threads.
2023-12-07 00:20:03 -08:00
Drew Galbraith
067da8709c
Update TODOs
2023-12-05 16:16:42 -08:00
Drew Galbraith
815a603c1c
[Zion] Mark pages as not present before calling invlpg.
2023-12-05 16:11:37 -08:00
Drew Galbraith
1f8085f791
[Zion] Call invlpg when unmapping memory.
2023-12-05 15:53:42 -08:00
Drew Galbraith
d9a4be6555
[Zion] Add a ProcessWait syscall.
2023-12-01 11:36:27 -08:00
Drew Galbraith
642fc4d80d
[Zion/Mammoth] Move init cap decls to mammoth.
...
They no longer need to be independent now that we have removed the libc.
2023-12-01 10:42:26 -08:00
Drew Galbraith
6d108f6965
[Zion] Compile kernel with -Wall -Werror.
2023-11-26 22:07:52 -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
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