mirror of
https://github.com/tailix/kernel.git
synced 2025-07-31 22:00:58 -04:00
Task switch to user mode works
This commit is contained in:
parent
f8ab00c358
commit
1afdbaa6fe
2 changed files with 4 additions and 3 deletions
|
@ -26,8 +26,8 @@
|
||||||
#define GDT_NULL_SELECTOR GDT_SEGMENT_SELECTOR(GDT_NULL_INDEX)
|
#define GDT_NULL_SELECTOR GDT_SEGMENT_SELECTOR(GDT_NULL_INDEX)
|
||||||
#define GDT_KERNEL_CS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_KERNEL_CS_INDEX)
|
#define GDT_KERNEL_CS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_KERNEL_CS_INDEX)
|
||||||
#define GDT_KERNEL_DS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_KERNEL_DS_INDEX)
|
#define GDT_KERNEL_DS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_KERNEL_DS_INDEX)
|
||||||
#define GDT_USER_CS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_USER_CS_INDEX)
|
#define GDT_USER_CS_SELECTOR (GDT_SEGMENT_SELECTOR(GDT_USER_CS_INDEX) | 3)
|
||||||
#define GDT_USER_DS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_USER_DS_INDEX)
|
#define GDT_USER_DS_SELECTOR (GDT_SEGMENT_SELECTOR(GDT_USER_DS_INDEX) | 3)
|
||||||
#define GDT_TSS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_TSS_INDEX)
|
#define GDT_TSS_SELECTOR GDT_SEGMENT_SELECTOR(GDT_TSS_INDEX)
|
||||||
|
|
||||||
#define INT_EXCEPTION_COUNT 32
|
#define INT_EXCEPTION_COUNT 32
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "paging.h"
|
#include "paging.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "kprintf.h"
|
#include "kprintf.h"
|
||||||
|
#include "tasks.h"
|
||||||
|
|
||||||
#include <kernelmq/info.h>
|
#include <kernelmq/info.h>
|
||||||
#include <kernelmq/stdlib.h>
|
#include <kernelmq/stdlib.h>
|
||||||
|
@ -69,7 +70,7 @@ void main(const struct KernelMQ_Info *const kinfo_ptr)
|
||||||
paging_load();
|
paging_load();
|
||||||
|
|
||||||
for (unsigned int i = 0; i < kinfo.modules_count; ++i) {
|
for (unsigned int i = 0; i < kinfo.modules_count; ++i) {
|
||||||
((KernelMQ_Module_Function)kinfo.modules[i].base)();
|
tasks_switch_to_user(kinfo.modules[i].base);
|
||||||
}
|
}
|
||||||
|
|
||||||
timer_register_handler(on_timer);
|
timer_register_handler(on_timer);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue