Justin C. Miller
fafe582802
Initial priority-based scheduler
...
- Scheduler now has multiple linked_lists of processes at different
priorities
- Process structure improvements
- scheduler::tick() and scheduler::schedule() separation
2018-09-11 22:37:00 -07:00
Justin C. Miller
3a39d9440a
Made syscall ids 64 bits in rax
2018-09-07 10:29:22 -07:00
Justin C. Miller
3f264b4490
Add syscall enum, clean up handler debug prints
2018-09-05 22:49:56 -07:00
Justin C. Miller
f1b84ab370
Default to non-user in all kernel pages now
...
This causes the user tasks to just PF, so we'll need to actually have a
real loader now.
2018-09-04 09:27:57 -07:00
Justin C. Miller
1726d10554
Unify syscall/interrupt handling of rsp
2018-05-21 22:57:43 -07:00
Justin C. Miller
2597e2002b
Get super basic ring3 task switching working
...
* It looks like UEFI enables SSE, so we need to tell clang -mno-sse for
now to not use XMM* until we're ready to save them.
* SYSCALL is working from ring3 tasks, calling console printf!
2018-05-21 09:07:53 -07:00
Justin C. Miller
24ccf65aba
WIP ring3
2018-05-21 09:07:52 -07:00
Justin C. Miller
bfaab294e6
Set up initial task switching (ring0 only)
2018-05-21 09:07:52 -07:00
Justin C. Miller
4005e9e791
Split gdt.* from interrupts.*
2018-05-21 09:07:52 -07:00
Justin C. Miller
abaa007c54
Set TSS and load it
2018-05-21 09:07:52 -07:00
Justin C. Miller
93e60cc136
Give kassert its own vector instead of DBZ
2018-05-15 21:38:44 -07:00
Justin C. Miller
0fc369789e
Change GDT code to enforce correct CS
2018-05-14 22:52:28 -07:00
Justin C. Miller
09f72f5ac6
GDT and GPF changes to track down Vbox bugs
2018-05-13 23:22:39 -07:00
Justin C. Miller
289104cde0
Enable AHCI interrupts.
...
* Implement MSI style interrupts
* Move interrupt handling to device_manager for IRQs
* Give device_manager the ability to allocate IRQs
* Move achi::port to an interrupt-based scheme
2018-05-12 18:38:47 -07:00
Justin C. Miller
045bede481
Improve stack tracing
2018-05-11 01:25:40 -07:00
Justin C. Miller
0f54630725
Move memory_manager and assert into kutil.
2018-05-08 01:11:03 -07:00
Justin C. Miller
9efb97c2a7
Increase to 64 IRQs
2018-05-06 18:24:12 -07:00
Justin C. Miller
34156c55ae
Add simple stack trace to exception handler
2018-05-05 17:12:02 -07:00
Justin C. Miller
d7506b6aaf
Rename intr log to apic, remove debug defaults
2018-05-05 11:02:41 -07:00
Justin C. Miller
d9fe457b44
Add beginning basic serial driver
2018-05-03 00:08:22 -07:00
Justin C. Miller
59700b07db
Add initial IO APIC support
...
- IO APIC vector mapping
- Legacy PIC disable
- Real interrupts happening
2018-05-02 16:46:37 -07:00
Justin C. Miller
428e4563d0
Add initial classes representing APIC
2018-05-01 01:03:19 -07:00
Justin C. Miller
b3e49590a7
Add logging framework
2018-04-28 19:18:53 -07:00
Justin C. Miller
25b9625635
paging finally works
2018-04-25 19:53:22 -07:00
Justin C. Miller
a27b8d6a3a
Add/move code into kutil library
2018-04-17 23:41:28 -07:00
Justin C. Miller
2050b89334
Move src/modules/main -> src/kernel
2018-04-17 09:45:05 -07:00