Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/include/pcb.h
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | struct pcb { | ||||
jmp_buf *pcb_onfault; /* For use during | jmp_buf *pcb_onfault; /* For use during | ||||
copyin/copyout */ | copyin/copyout */ | ||||
int pcb_flags; | int pcb_flags; | ||||
#define PCB_FPU 0x1 /* Process uses FPU */ | #define PCB_FPU 0x1 /* Process uses FPU */ | ||||
#define PCB_FPREGS 0x2 /* Process had FPU registers initialized */ | #define PCB_FPREGS 0x2 /* Process had FPU registers initialized */ | ||||
#define PCB_VEC 0x4 /* Process had Altivec initialized */ | #define PCB_VEC 0x4 /* Process had Altivec initialized */ | ||||
#define PCB_VSX 0x8 /* Process had VSX initialized */ | #define PCB_VSX 0x8 /* Process had VSX initialized */ | ||||
#define PCB_CDSCR 0x10 /* Process had Custom DSCR initialized */ | #define PCB_CDSCR 0x10 /* Process had Custom DSCR initialized */ | ||||
#define PCB_HTM 0x20 /* Process had HTM initialized */ | |||||
struct fpu { | struct fpu { | ||||
union { | union { | ||||
double fpr; | double fpr; | ||||
uint32_t vsr[4]; | uint32_t vsr[4]; | ||||
} fpr[32]; | } fpr[32]; | ||||
double fpscr; /* FPSCR stored as double for easier access */ | double fpscr; /* FPSCR stored as double for easier access */ | ||||
} pcb_fpu; /* Floating point processor */ | } pcb_fpu; /* Floating point processor */ | ||||
unsigned int pcb_fpcpu; /* which CPU had our FPU | unsigned int pcb_fpcpu; /* which CPU had our FPU | ||||
stuff. */ | stuff. */ | ||||
struct vec { | struct vec { | ||||
uint32_t vr[32][4]; | uint32_t vr[32][4]; | ||||
uint32_t spare[2]; | uint32_t spare[2]; | ||||
uint32_t vrsave; | uint32_t vrsave; | ||||
uint32_t vscr; /* aligned at vector element 3 */ | uint32_t vscr; /* aligned at vector element 3 */ | ||||
} pcb_vec __aligned(16); /* Vector processor */ | } pcb_vec __aligned(16); /* Vector processor */ | ||||
unsigned int pcb_veccpu; /* which CPU had our vector | unsigned int pcb_veccpu; /* which CPU had our vector | ||||
stuff. */ | stuff. */ | ||||
struct htm { | |||||
uint64_t tfhar; | |||||
uint64_t texasr; | |||||
uint64_t tfiar; | |||||
} pcb_htm; | |||||
union { | union { | ||||
struct { | struct { | ||||
vm_offset_t usr_segm; /* Base address */ | vm_offset_t usr_segm; /* Base address */ | ||||
register_t usr_vsid; /* USER_SR segment */ | register_t usr_vsid; /* USER_SR segment */ | ||||
} aim; | } aim; | ||||
struct { | struct { | ||||
register_t dbcr0; | register_t dbcr0; | ||||
Show All 21 Lines |