Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/linux/linux_sysvec.c
Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | |||||
#include <compat/linux/linux_dtrace.h> | #include <compat/linux/linux_dtrace.h> | ||||
#include <compat/linux/linux_emul.h> | #include <compat/linux/linux_emul.h> | ||||
#include <compat/linux/linux_ioctl.h> | #include <compat/linux/linux_ioctl.h> | ||||
#include <compat/linux/linux_mib.h> | #include <compat/linux/linux_mib.h> | ||||
#include <compat/linux/linux_misc.h> | #include <compat/linux/linux_misc.h> | ||||
#include <compat/linux/linux_util.h> | #include <compat/linux/linux_util.h> | ||||
#include <compat/linux/linux_vdso.h> | #include <compat/linux/linux_vdso.h> | ||||
#include <machine/machdep.h> | |||||
andrew: I don't think this is needed. | |||||
MODULE_VERSION(linux64elf, 1); | MODULE_VERSION(linux64elf, 1); | ||||
const char *linux_kplatform; | const char *linux_kplatform; | ||||
static int linux_szsigcode; | static int linux_szsigcode; | ||||
static vm_object_t linux_shared_page_obj; | static vm_object_t linux_shared_page_obj; | ||||
static char *linux_shared_page_mapping; | static char *linux_shared_page_mapping; | ||||
extern char _binary_linux_locore_o_start; | extern char _binary_linux_locore_o_start; | ||||
extern char _binary_linux_locore_o_end; | extern char _binary_linux_locore_o_end; | ||||
▲ Show 20 Lines • Show All 287 Lines • ▼ Show 20 Lines | linux_exec_setregs(struct thread *td, struct image_params *imgp, | ||||
/* glibc start.S registers function pointer in x0 with atexit. */ | /* glibc start.S registers function pointer in x0 with atexit. */ | ||||
regs->tf_sp = stack; | regs->tf_sp = stack; | ||||
#if 0 /* LINUXTODO: See if this is used. */ | #if 0 /* LINUXTODO: See if this is used. */ | ||||
regs->tf_lr = imgp->entry_addr; | regs->tf_lr = imgp->entry_addr; | ||||
#else | #else | ||||
regs->tf_lr = 0xffffffffffffffff; | regs->tf_lr = 0xffffffffffffffff; | ||||
#endif | #endif | ||||
regs->tf_elr = imgp->entry_addr; | regs->tf_elr = imgp->entry_addr; | ||||
exec_reset_vfp_state(td, td->td_pcb); | |||||
} | } | ||||
int | int | ||||
linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) | linux_rt_sigreturn(struct thread *td, struct linux_rt_sigreturn_args *args) | ||||
{ | { | ||||
/* LINUXTODO: implement */ | /* LINUXTODO: implement */ | ||||
LIN_SDT_PROBE0(sysvec, linux_rt_sigreturn, todo); | LIN_SDT_PROBE0(sysvec, linux_rt_sigreturn, todo); | ||||
▲ Show 20 Lines • Show All 202 Lines • Show Last 20 Lines |
I don't think this is needed.