Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/machdep.c
Show First 20 Lines • Show All 726 Lines • ▼ Show 20 Lines | |||||
* on the PCB. The PCB doesn't have to be perfect, as long as it contains | * on the PCB. The PCB doesn't have to be perfect, as long as it contains | ||||
* enough for a backtrace. | * enough for a backtrace. | ||||
*/ | */ | ||||
void | void | ||||
makectx(struct trapframe *tf, struct pcb *pcb) | makectx(struct trapframe *tf, struct pcb *pcb) | ||||
{ | { | ||||
int i; | int i; | ||||
for (i = 0; i < PCB_LR; i++) | for (i = 0; i < nitems(pcb->pcb_x); i++) | ||||
pcb->pcb_x[i] = tf->tf_x[i]; | pcb->pcb_x[i] = tf->tf_x[i]; | ||||
pcb->pcb_x[PCB_LR] = tf->tf_lr; | /* NB: pcb_lr is the PC, see PC_REGS() in db_machdep.h */ | ||||
pcb->pcb_pc = tf->tf_elr; | pcb->pcb_lr = tf->tf_elr; | ||||
pcb->pcb_sp = tf->tf_sp; | pcb->pcb_sp = tf->tf_sp; | ||||
} | } | ||||
void | void | ||||
sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) | sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) | ||||
{ | { | ||||
struct thread *td; | struct thread *td; | ||||
struct proc *p; | struct proc *p; | ||||
▲ Show 20 Lines • Show All 638 Lines • Show Last 20 Lines |