summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sparc64/include')
-rw-r--r--sys/sparc64/include/asi.h11
-rw-r--r--sys/sparc64/include/globaldata.h1
-rw-r--r--sys/sparc64/include/pcb.h5
-rw-r--r--sys/sparc64/include/pcpu.h1
-rw-r--r--sys/sparc64/include/pstate.h13
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)
OpenPOWER on IntegriCloud