![]() |
MOS Source Code
|
#include "mos/assert.hpp"#include "mos/platform/platform.hpp"#include "mos/platform/platform_defs.hpp"#include "mos/riscv64/cpu/cpu.hpp"#include "mos/syslog/syslog.hpp"#include "mos/tasks/signal.hpp"#include "mos/tasks/task_types.hpp"#include <mos/platform_syscall.h>#include <mos/shared_ptr.hpp>#include <mos_stdlib.hpp>Go to the source code of this file.
Macros | |
| #define | FLEN 64 |
| #define | f_op(reg, val) |
| #define | f_op(reg, val) |
Typedefs | |
| typedef void(* | switch_func_t) () |
| #define FLEN 64 |
Definition at line 154 of file riscv64_platform_api.cpp.
| #define f_op | ( | reg, | |
| val ) |
Referenced by do_restore_fp_context(), and do_save_fp_context().
| #define f_op | ( | reg, | |
| val ) |
| typedef void(* switch_func_t) () |
Definition at line 16 of file riscv64_platform_api.cpp.
| void riscv64_do_context_switch | ( | ptr_t * | old_stack, |
| ptr_t | new_stack, | ||
| switch_func_t | switcher, | ||
| bool * | lock ) |
Referenced by platform_switch_to_thread().
| void riscv64_normal_switch_impl | ( | ) |
Referenced by platform_switch_to_thread().
|
static |
Definition at line 20 of file riscv64_platform_api.cpp.
Referenced by platform_switch_to_thread().
|
static |
Definition at line 35 of file riscv64_platform_api.cpp.
Referenced by platform_switch_to_thread().
Definition at line 44 of file riscv64_platform_api.cpp.
Referenced by power_shutdown().
Definition at line 51 of file riscv64_platform_api.cpp.
Referenced by do_syslog(), enter_scheduler(), and platform_ap_entry().
Definition at line 56 of file riscv64_platform_api.cpp.
Referenced by idle_task(), and platform_shutdown().
| void platform_dump_regs | ( | const platform_regs_t * | regs | ) |
Definition at line 61 of file riscv64_platform_api.cpp.
Referenced by handle_kernel_panic(), invalid_page_fault(), x86_handle_exception(), and x86_handle_nmi().
| platform_regs_t * platform_thread_regs | ( | Thread * | thread | ) |
Definition at line 74 of file riscv64_platform_api.cpp.
Referenced by platform_arch_syscall(), platform_context_clone(), platform_context_setup_child_thread(), platform_context_setup_main_thread(), riscv64_start_kernel_thread(), riscv64_start_user_thread(), x86_setup_thread_common(), x86_start_kernel_thread(), and x86_start_user_thread().
Definition at line 79 of file riscv64_platform_api.cpp.
Referenced by platform_context_setup_child_thread(), and platform_context_setup_main_thread().
| void platform_context_setup_main_thread | ( | Thread * | thread, |
| ptr_t | entry, | ||
| ptr_t | sp, | ||
| int | argc, | ||
| ptr_t | argv, | ||
| ptr_t | envp ) |
Definition at line 85 of file riscv64_platform_api.cpp.
Referenced by elf_do_fill_process().
| void platform_context_setup_child_thread | ( | Thread * | thread, |
| thread_entry_t | entry, | ||
| void * | arg ) |
Definition at line 97 of file riscv64_platform_api.cpp.
Referenced by create_thread(), and kthread_create_no_sched().
Definition at line 117 of file riscv64_platform_api.cpp.
Referenced by process_do_fork().
Definition at line 130 of file riscv64_platform_api.cpp.
Referenced by process_do_execveat(), and thread_destroy().
Definition at line 136 of file riscv64_platform_api.cpp.
Referenced by handle_kernel_panic().
Definition at line 142 of file riscv64_platform_api.cpp.
Referenced by idle_task().
Definition at line 148 of file riscv64_platform_api.cpp.
Referenced by mm_switch_context(), platform_ap_entry(), and setup_sane_environment().
Definition at line 156 of file riscv64_platform_api.cpp.
Referenced by platform_switch_to_thread().
Definition at line 198 of file riscv64_platform_api.cpp.
Referenced by platform_switch_to_thread().
| void platform_switch_to_thread | ( | Thread * | current, |
| Thread * | new_thread, | ||
| ContextSwitchBehaviorFlags | switch_flags ) |
Definition at line 239 of file riscv64_platform_api.cpp.
Referenced by reschedule().
| void platform_return_to_userspace | ( | platform_regs_t * | regs | ) |
Definition at line 263 of file riscv64_platform_api.cpp.
Referenced by platform_restore_from_signal_handler().
Definition at line 276 of file riscv64_platform_api.cpp.
Referenced by arch_syscall().
| void platform_ipi_send | ( | u8 | target_cpu, |
| ipi_type_t | type ) |
Definition at line 294 of file riscv64_platform_api.cpp.
| void platform_dump_stack | ( | const platform_regs_t * | regs | ) |
Definition at line 301 of file riscv64_platform_api.cpp.
Referenced by handle_kernel_panic(), invalid_page_fault(), and x86_handle_exception().
| void platform_syscall_setup_restart_context | ( | platform_regs_t * | regs, |
| reg_t | syscall_nr ) |
Definition at line 314 of file riscv64_platform_api.cpp.
Referenced by signal_exit_to_user_prepare().
| void platform_syscall_store_retval | ( | platform_regs_t * | regs, |
| reg_t | result ) |
Definition at line 320 of file riscv64_platform_api.cpp.
Referenced by signal_exit_to_user_prepare().
| ptr< platform_regs_t > platform_setup_signal_handler_regs | ( | const platform_regs_t * | regs, |
| const sigreturn_data_t * | sigreturn_data, | ||
| const sigaction_t * | sa ) |
Definition at line 325 of file riscv64_platform_api.cpp.
Referenced by do_signal_exit_to_user_prepare().
Definition at line 342 of file riscv64_platform_api.cpp.
Referenced by MOS_STATIC_ASSERT().
Definition at line 354 of file riscv64_platform_api.cpp.
Referenced by do_syslog(), and SyslogStreamWriter::SyslogStreamWriter().
Definition at line 359 of file riscv64_platform_api.cpp.
Referenced by clock_gettimeofday().
Definition at line 369 of file riscv64_platform_api.cpp.
Referenced by clock_gettimeofday().
Definition at line 376 of file riscv64_platform_api.cpp.
Referenced by handle_kernel_panic(), and x86_handle_exception().