mirror of
https://github.com/usatiuk/ficus.git
synced 2025-10-29 08:37:51 +01:00
Don't map kernel user-accessible
This commit is contained in:
@@ -90,11 +90,14 @@ static void trampoline(void *rdi, void (*rsi_entrypoint)()) {
|
||||
}
|
||||
|
||||
Task::Task(Task::TaskMode mode, void (*entrypoint)(), const char *name) {
|
||||
_name = name;
|
||||
|
||||
_frame.ip = reinterpret_cast<uint64_t>(&trampoline);
|
||||
_frame.rsi = (uint64_t) entrypoint;
|
||||
_name = name;
|
||||
|
||||
if (mode == TaskMode::TASKMODE_KERN) {
|
||||
_frame.ip = reinterpret_cast<uint64_t>(&trampoline);
|
||||
_frame.rsi = (uint64_t) entrypoint;
|
||||
} else {
|
||||
_frame.ip = reinterpret_cast<uint64_t>(entrypoint);
|
||||
}
|
||||
if (mode == TaskMode::TASKMODE_KERN) {
|
||||
_frame.cs = Arch::GDT::gdt_code.selector();
|
||||
_frame.ss = Arch::GDT::gdt_data.selector();
|
||||
|
||||
Reference in New Issue
Block a user