summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4u/sys
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/sun4u/sys')
-rw-r--r--usr/src/uts/sun4u/sys/cpu_impl.h12
-rw-r--r--usr/src/uts/sun4u/sys/cpu_module.h4
-rw-r--r--usr/src/uts/sun4u/sys/machasi.h4
-rw-r--r--usr/src/uts/sun4u/sys/mmu.h21
-rw-r--r--usr/src/uts/sun4u/sys/opl.h4
-rw-r--r--usr/src/uts/sun4u/sys/opl_cfg.h5
-rw-r--r--usr/src/uts/sun4u/sys/sbd_ioctl.h4
7 files changed, 41 insertions, 13 deletions
diff --git a/usr/src/uts/sun4u/sys/cpu_impl.h b/usr/src/uts/sun4u/sys/cpu_impl.h
index 6984b921e5..5168530613 100644
--- a/usr/src/uts/sun4u/sys/cpu_impl.h
+++ b/usr/src/uts/sun4u/sys/cpu_impl.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -100,8 +100,16 @@ extern "C" {
#define OLYMPUS_REV_MASK(x) (((x) >> 28) & 0x7)
#define OLYMPUS_C_A 0
+/*
+ * Definitions for Jupiter cpu.
+ */
+#define JUPITER_IMPL 0x7
+#define IS_JUPITER(impl) ((impl) == JUPITER_IMPL)
+
#define CPU_IMPL_IS_CMP(impl) (IS_JAGUAR(impl) || \
- IS_PANTHER(impl) || IS_OLYMPUS_C(impl))
+ IS_PANTHER(impl) || \
+ IS_OLYMPUS_C(impl) || \
+ IS_JUPITER(impl))
#ifdef __cplusplus
}
diff --git a/usr/src/uts/sun4u/sys/cpu_module.h b/usr/src/uts/sun4u/sys/cpu_module.h
index a743d4264d..cd6f6c21b7 100644
--- a/usr/src/uts/sun4u/sys/cpu_module.h
+++ b/usr/src/uts/sun4u/sys/cpu_module.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -68,6 +68,8 @@ void cpu_kdi_init(struct kdi *);
void cpu_fiximp(pnode_t dnode);
#pragma weak cpu_fix_allpanther
void cpu_fix_allpanther(void);
+#pragma weak cpu_fix_alljupiter
+void cpu_fix_alljupiter(void);
#pragma weak mmu_init_mmu_page_sizes
int mmu_init_mmu_page_sizes(int cinfo);
diff --git a/usr/src/uts/sun4u/sys/machasi.h b/usr/src/uts/sun4u/sys/machasi.h
index 8b37b98c18..87272b5b3d 100644
--- a/usr/src/uts/sun4u/sys/machasi.h
+++ b/usr/src/uts/sun4u/sys/machasi.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -105,6 +105,8 @@ extern "C" {
#define ASI_DTLB_ACCESS 0x5D /* dmmu tlb data access */
#define ASI_DTLB_TAGREAD 0x5E /* dmmu tlb tag read */
#define ASI_DTLB_DEMAP 0x5F /* dmmu tlb demap */
+#define ASI_ITSB_PREFETCH 0x61 /* IMMU tsb prefetch */
+#define ASI_DTSB_PREFETCH 0x62 /* DMMU tsb prefetch */
#define ASI_IC_DATA 0x66 /* i$ data */
#define ASI_IC_TAG 0x67 /* i$ tag */
diff --git a/usr/src/uts/sun4u/sys/mmu.h b/usr/src/uts/sun4u/sys/mmu.h
index 0a8a71e541..8f0f8eb214 100644
--- a/usr/src/uts/sun4u/sys/mmu.h
+++ b/usr/src/uts/sun4u/sys/mmu.h
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -20,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -63,6 +62,7 @@ extern "C" {
#define MMU_TSB_SX 0x50 /* d tsb secondary extension reg */
#define MMU_TSB_NX 0x58 /* i/d tsb nucleus extension reg */
#define MMU_TAG_ACCESS_EXT 0x60 /* tlb tag access extension reg */
+#define MMU_SHARED_CONTEXT 0x68 /* SPARC64-VII shared context */
@@ -198,6 +198,19 @@ extern "C" {
#define TAGACCEXT_MKSZPAIR(SZ1, SZ0) (((SZ1) << 3) | (SZ0))
/*
+ * SPARC64-VII tsb prefetch register layout and VAs
+ *
+ * +-------------------------+-+---------+-+--+------+
+ * | virtual address [63:13] | | page_sz |V| |TSB_sz|
+ * +-------------------------+-+---------+-+--+------+
+ * 63 13 11 9 8 5 0
+ */
+#define VA_UTSBPREF_8K 0x00
+#define VA_UTSBPREF_4M 0x08
+#define VA_KTSBPREF_8K 0x40
+#define VA_KTSBPREF_4M 0x48
+
+/*
* MMU PRIMARY/SECONDARY CONTEXT register
*/
#define CTXREG_CTX_MASK 0x1FFF
diff --git a/usr/src/uts/sun4u/sys/opl.h b/usr/src/uts/sun4u/sys/opl.h
index ee940b0cb0..803d76d23c 100644
--- a/usr/src/uts/sun4u/sys/opl.h
+++ b/usr/src/uts/sun4u/sys/opl.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -32,7 +32,7 @@
extern "C" {
#endif
-#define OPL_MAX_CPU_PER_CMP 4
+#define OPL_MAX_CPU_PER_CMP 8
#define OPL_MAX_CORES_PER_CMP 4
#define OPL_MAX_STRANDS_PER_CORE 2
#define OPL_MAX_CMP_UNITS_PER_BOARD 4
diff --git a/usr/src/uts/sun4u/sys/opl_cfg.h b/usr/src/uts/sun4u/sys/opl_cfg.h
index 021c3881c5..f5fb2a0e62 100644
--- a/usr/src/uts/sun4u/sys/opl_cfg.h
+++ b/usr/src/uts/sun4u/sys/opl_cfg.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -198,6 +198,7 @@ typedef struct {
dev_info_t *pr_parent;
dev_info_t *pr_node;
int pr_hold;
+ unsigned pr_cpu_impl;
} opl_probe_t;
#define OPL_STR_LEN 256
@@ -288,7 +289,7 @@ typedef struct {
/*
* Functions used by drmach
*/
-extern int opl_probe_sb(int);
+extern int opl_probe_sb(int, unsigned *);
extern int opl_unprobe_sb(int);
extern int opl_read_hwd(int, hwd_header_t **, hwd_sb_status_t **,
hwd_domain_info_t **, hwd_sb_t **);
diff --git a/usr/src/uts/sun4u/sys/sbd_ioctl.h b/usr/src/uts/sun4u/sys/sbd_ioctl.h
index c20c67ad0a..6e0fbfe398 100644
--- a/usr/src/uts/sun4u/sys/sbd_ioctl.h
+++ b/usr/src/uts/sun4u/sys/sbd_ioctl.h
@@ -582,7 +582,7 @@ typedef struct {
#define ESGT_NOT_SUPP 4027 /* Operation not supported */
#define ESGT_NO_MEM 4028 /* No Memory */
-/* opl error codes */
+/* OPL error codes */
#define EOPL_GETPROP 5001 /* Cannot read property value */
#define EOPL_BNUM 5002 /* Invalid board number */
@@ -615,6 +615,8 @@ typedef struct {
#define EOPL_FMEM_TERMINATE 5027 /* FMEM operation Terminated */
#define EOPL_FMEM_COPY_ERROR 5028 /* Memory copy error */
#define EOPL_FMEM_SCF_ERR 5029 /* SCF error */
+#define EOPL_MIXED_CPU 5030
+ /* Cannot add SPARC64-VI to domain booted with all SPARC64-VII CPUs */
#ifdef __cplusplus
}