![]() |
MOS Source Code
|
#include "mos/x86/tasks/context.hpp"#include "mos/platform/platform_defs.hpp"#include "mos/x86/descriptors/descriptors.hpp"#include "mos/x86/tasks/fpu_context.hpp"#include <mos/lib/structures/stack.hpp>#include <mos/mos_global.h>#include <mos/platform/platform.hpp>#include <mos/syslog/printk.hpp>#include <mos/tasks/schedule.hpp>#include <mos/tasks/task_types.hpp>#include <mos/types.hpp>#include <mos/x86/cpu/cpu.hpp>#include <mos/x86/mm/paging_impl.hpp>#include <mos/x86/x86_interrupt.hpp>#include <mos/x86/x86_platform.hpp>#include <mos_stdlib.hpp>#include <mos_string.hpp>Go to the source code of this file.
Typedefs | |
| typedef void(* | switch_func_t) () |
Functions | |
| void | x86_normal_switch_impl () |
| void | x86_context_switch_impl (ptr_t *old_stack, ptr_t new_kstack, switch_func_t switcher, bool *lock) |
| static void | x86_start_kernel_thread () |
| static void | x86_start_user_thread () |
| static platform_regs_t * | x86_setup_thread_common (Thread *thread) |
| void | platform_context_setup_main_thread (Thread *thread, ptr_t entry, ptr_t sp, int argc, ptr_t argv, ptr_t envp) |
| void | platform_context_cleanup (Thread *thread) |
| void | platform_context_setup_child_thread (Thread *thread, thread_entry_t entry, void *arg) |
| void | platform_context_clone (Thread *from, Thread *to) |
| void | platform_switch_to_thread (Thread *current, Thread *new_thread, ContextSwitchBehaviorFlags switch_flags) |
| void | x86_set_fsbase (Thread *thread) |
Variables | |
| mos::Slab< u8 > | xsave_area_slab ("x86.xsave", 0) |
| typedef void(* switch_func_t) () |
Definition at line 23 of file context.cpp.
| void x86_normal_switch_impl | ( | ) |
Referenced by platform_switch_to_thread().
| void x86_context_switch_impl | ( | ptr_t * | old_stack, |
| ptr_t | new_kstack, | ||
| switch_func_t | switcher, | ||
| bool * | lock ) |
Referenced by platform_switch_to_thread().
|
static |
Definition at line 29 of file context.cpp.
Referenced by platform_switch_to_thread().
|
static |
Definition at line 38 of file context.cpp.
Referenced by platform_switch_to_thread().
|
static |
Definition at line 43 of file context.cpp.
Referenced by platform_context_setup_child_thread(), and platform_context_setup_main_thread().
Definition at line 75 of file context.cpp.
| void platform_context_setup_child_thread | ( | Thread * | thread, |
| thread_entry_t | entry, | ||
| void * | arg ) |
Definition at line 146 of file context.cpp.
Referenced by platform_arch_syscall(), and platform_switch_to_thread().