diff options
Diffstat (limited to 'usr/src/uts/sun4u/sys')
-rw-r--r-- | usr/src/uts/sun4u/sys/cpu_impl.h | 12 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/cpu_module.h | 4 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/machasi.h | 4 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/mmu.h | 21 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/opl.h | 4 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/opl_cfg.h | 5 | ||||
-rw-r--r-- | usr/src/uts/sun4u/sys/sbd_ioctl.h | 4 |
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 } |