Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/include/pcb.h
Show All 30 Lines | |||||
#ifndef LOCORE | #ifndef LOCORE | ||||
#include <machine/debug_monitor.h> | #include <machine/debug_monitor.h> | ||||
#include <machine/vfp.h> | #include <machine/vfp.h> | ||||
struct trapframe; | struct trapframe; | ||||
#define PCB_LR 30 | |||||
struct pcb { | struct pcb { | ||||
uint64_t pcb_x[31]; | uint64_t pcb_x[30]; | ||||
uint64_t pcb_pc; | uint64_t pcb_lr; | ||||
uint64_t _reserved; /* Was pcb_pc */ | |||||
markj: Why exactly does the layout need to be preserved? | |||||
mhorneAuthorUnsubmitted Done Inline Actionskgdb has knowledge of the pcb layout, and will require an update if we change the layout. I'm unsure how easily this can be done while maintaining support for older targets. @jhb probably has an idea. mhorne: kgdb has knowledge of the pcb layout, and will require an update if we change the layout. I'm… | |||||
/* These two need to be in order as we access them together */ | /* These two need to be in order as we access them together */ | ||||
uint64_t pcb_sp; | uint64_t pcb_sp; | ||||
uint64_t pcb_tpidr_el0; | uint64_t pcb_tpidr_el0; | ||||
uint64_t pcb_tpidrro_el0; | uint64_t pcb_tpidrro_el0; | ||||
/* Fault handler, the error value is passed in x0 */ | /* Fault handler, the error value is passed in x0 */ | ||||
vm_offset_t pcb_onfault; | vm_offset_t pcb_onfault; | ||||
Show All 31 Lines |
Why exactly does the layout need to be preserved?