diff options
Diffstat (limited to 'sys/sparc64/include')
-rw-r--r-- | sys/sparc64/include/asi.h | 11 | ||||
-rw-r--r-- | sys/sparc64/include/globaldata.h | 1 | ||||
-rw-r--r-- | sys/sparc64/include/pcb.h | 5 | ||||
-rw-r--r-- | sys/sparc64/include/pcpu.h | 1 | ||||
-rw-r--r-- | sys/sparc64/include/pstate.h | 13 |
5 files changed, 29 insertions, 2 deletions
diff --git a/sys/sparc64/include/asi.h b/sys/sparc64/include/asi.h index 34f146d..ee7588d 100644 --- a/sys/sparc64/include/asi.h +++ b/sys/sparc64/include/asi.h @@ -90,4 +90,15 @@ #define ASI_DTLB_TAG_READ_REG 0x5e #define ASI_DMMU_DEMAP 0x5f +#define ASI_BLK_AUIP 0x70 +#define ASI_BLK_AIUS 0x71 +#define ASI_BLK_AIUPL 0x78 +#define ASI_BLK_AIUSL 0x79 +#define ASI_BLK_COMMIT_S 0xe0 +#define ASI_BLK_COMMIT_P 0xe1 +#define ASI_BLK_P 0xf0 +#define ASI_BLK_S 0xf1 +#define ASI_BLK_PL 0xf8 +#define ASI_BLK_SL 0xf9 + #endif /* !_MACHINE_ASI_H_ */ diff --git a/sys/sparc64/include/globaldata.h b/sys/sparc64/include/globaldata.h index 7af3375..20fe891 100644 --- a/sys/sparc64/include/globaldata.h +++ b/sys/sparc64/include/globaldata.h @@ -37,7 +37,6 @@ struct globaldata { SLIST_ENTRY(globaldata) gd_allcpu; struct pcb *gd_curpcb; struct proc *gd_curproc; - struct proc *gd_fpcurproc; struct proc *gd_idleproc; u_int gd_cpuid; u_int gd_other_cpus; diff --git a/sys/sparc64/include/pcb.h b/sys/sparc64/include/pcb.h index d5ad7eb..d5dd720 100644 --- a/sys/sparc64/include/pcb.h +++ b/sys/sparc64/include/pcb.h @@ -29,7 +29,12 @@ #ifndef _MACHINE_PCB_H_ #define _MACHINE_PCB_H_ +#include <machine/fp.h> +#include <machine/pstate.h> + +/* NOTE: pcb_fpstate must be aligned on a 64 byte boundary. */ struct pcb { + struct fpstate pcb_fpstate; u_long pcb_fp; u_long pcb_pc; caddr_t pcb_onfault; diff --git a/sys/sparc64/include/pcpu.h b/sys/sparc64/include/pcpu.h index 7af3375..20fe891 100644 --- a/sys/sparc64/include/pcpu.h +++ b/sys/sparc64/include/pcpu.h @@ -37,7 +37,6 @@ struct globaldata { SLIST_ENTRY(globaldata) gd_allcpu; struct pcb *gd_curpcb; struct proc *gd_curproc; - struct proc *gd_fpcurproc; struct proc *gd_idleproc; u_int gd_cpuid; u_int gd_other_cpus; diff --git a/sys/sparc64/include/pstate.h b/sys/sparc64/include/pstate.h index 8ff55f3..07301eb 100644 --- a/sys/sparc64/include/pstate.h +++ b/sys/sparc64/include/pstate.h @@ -47,6 +47,19 @@ #define PSTATE_MG (1<<10) #define PSTATE_IG (1<<11) +#define TSTATE_PSTATE_SHIFT 8 +#define TSTATE_PSTATE(x) ((x) << TSTATE_PSTATE_SHIFT) +#define TSTATE_AG TSTATE_PSTATE(PSTATE_AG) +#define TSTATE_IE TSTATE_PSTATE(PSTATE_IE) +#define TSTATE_PRIV TSTATE_PSTATE(PSTATE_PRIV) +#define TSTATE_AM TSTATE_PSTATE(PSTATE_AM) +#define TSTATE_PEF TSTATE_PSTATE(PSTATE_PEF) +#define TSTATE_RED TSTATE_PSTATE(PSTATE_RED) +#define TSTATE_TLE TSTATE_PSTATE(PSTATE_TLE) +#define TSTATE_CLE TSTATE_PSTATE(PSTATE_CLE) +#define TSTATE_MG TSTATE_PSTATE(PSTATE_MG) +#define TSTATE_IG TSTATE_PSTATE(PSTATE_IG) + #define VER_MANUF_SHIFT (48) #define VER_IMPL_SHIFT (32) #define VER_MASK_SHIFT (24) |