Commit Graph

11 Commits

Author SHA1 Message Date
f5deb1048a Kernel: Add functions to push and pop the interrupt state
This can be useful when you want to disable interrupts, but then only enable them back if they were previously enabled.
2022-10-12 12:58:56 +02:00
b3e16068ef Kernel: Add Utilities::get_rflags(), and thus Interrupts::are_enabled() 2022-10-12 12:56:55 +02:00
46f459337c Interrupts: Remove ensure_handler and use a more reliable way of detecting if we are in a handler 2022-09-29 18:35:51 +02:00
f1a7138568 User mode (with a few syscalls)
IT ACTUALLY WORKS NOW.

Why wasn't it working? Oh, because I was not setting already present page tables's permissions to user mode. Just a little bug. THAT I SPENT DAYS TRYING TO FIND

Anyways, it works now. Such a relief...
2022-09-25 20:35:05 +02:00
c3e5251687 Some more userland and font failing 2022-09-23 16:41:43 +02:00
ee49caa6d3 Interrupts: ensure is_in_handler is true if we know we are in a handler 2022-09-21 21:03:49 +02:00
4401b31440 Remove ds from context, no need for it in x86_64, use ss instead 2022-09-21 21:03:24 +02:00
e6c6a1677a Rename "SavedContext" to "Context"
Seemed like a more appropriate name.
2022-09-20 19:56:43 +02:00
d0d2d4381c Add a is_in_handler function to validate being in an interrupt handler 2022-09-20 17:16:07 +02:00
78fe37ddb3 Move declaration of IDTR to header 2022-09-06 11:44:37 +02:00
1b727a66ea Ready. Set. Go! 2022-09-05 16:13:51 +02:00