Commit Graph

14 Commits

Author SHA1 Message Date
f0caf010bf
kernel/x86_64: Add a way to register IRQ handlers from other kernel subsystems 2023-06-16 21:10:26 +02:00
ed0727332b x86_64/CPU: Assign a proper IRQ number to the keyboard interrupt
All checks were successful
continuous-integration/drone/push Build is passing
Ah, the dangers of copy-and-paste...
2023-04-04 12:13:34 +00:00
fd8a0175d9
Add a syscall infrastructure (our baby program can print to the console now!)
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-05 22:39:56 +01:00
0aac6c888d
x86_64: Basic exit() syscall!
User processes need to do something, amirite?
2023-01-05 21:53:48 +01:00
7952d1d8a0
x86_64: Add basic keyboard support with an ASYNC DRIVER
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-26 19:59:18 +01:00
c907e16311 x86_64: Invoke the scheduler every millisecond 2022-12-07 16:11:59 +00:00
1ed51d11cb Do not push unused values 2022-11-23 19:37:25 +01:00
82893fa3a4 Introduce a kernel_yield function to use once a scheduler is implemented 2022-11-23 19:34:04 +01:00
83bcac7a16 Kernel: Introduce a timer interface 2022-11-19 20:01:01 +01:00
109de54822 Provide stubbed handlers for many more x86 exceptions
I am now officially a big-boy OS developer, I read the Intel manuals for this!! (Not that the OSDev wiki doesn't have the information, but it was missing descriptions for some more obscure exceptions)
2022-11-18 20:51:25 +01:00
7f15ba0ac5 Add some interrupt handling 2022-11-16 17:37:18 +01:00
df8666fd73 Remove unneeded label 2022-11-15 20:47:50 +01:00
bb46cd890b Add GDT and IDT setup and loading + NX if supported 2022-11-15 20:41:59 +01:00
c319336e3d Add a CPU interface 2022-11-15 19:10:32 +01:00