summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys')
-rw-r--r--usr/src/uts/common/sys/Makefile13
-rw-r--r--usr/src/uts/common/sys/chip.h1
-rw-r--r--usr/src/uts/common/sys/dumphdr.h3
-rw-r--r--usr/src/uts/common/sys/fm/cpu/UltraSPARC-II.h65
-rw-r--r--usr/src/uts/common/sys/fm/cpu/UltraSPARC-III.h446
-rw-r--r--usr/src/uts/common/sys/fm/cpu/UltraSPARC-T1.h66
-rw-r--r--usr/src/uts/common/sys/fm/protocol.h15
-rw-r--r--usr/src/uts/common/sys/fm/util.h10
-rw-r--r--usr/src/uts/common/sys/kobj.h4
-rw-r--r--usr/src/uts/common/sys/mem.h10
-rw-r--r--usr/src/uts/common/sys/modctl.h51
-rw-r--r--usr/src/uts/common/sys/policy.h3
12 files changed, 71 insertions, 616 deletions
diff --git a/usr/src/uts/common/sys/Makefile b/usr/src/uts/common/sys/Makefile
index bb8e6e8d7a..f82a933903 100644
--- a/usr/src/uts/common/sys/Makefile
+++ b/usr/src/uts/common/sys/Makefile
@@ -20,7 +20,7 @@
#
#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -657,12 +657,6 @@ FMHDRS= \
protocol.h \
util.h
-sparc_FMCPUHDRS= \
- UltraSPARC-II.h \
- UltraSPARC-III.h \
- UltraSPARC-T1.h
-FMCPUHDRS=$($(MACH)_FMCPUHDRS)
-
FMIOHDRS= \
ddi.h \
pci.h \
@@ -920,7 +914,6 @@ CHECKHDRS= \
$(TAVORHDRS:%.h=ib/adapters/tavor/%.check) \
$(ISOHDRS:%.h=iso/%.check) \
$(FMHDRS:%.h=fm/%.check) \
- $(FMCPUHDRS:%.h=fm/cpu/%.check) \
$(FMIOHDRS:%.h=fm/io/%.check) \
$(FSHDRS:%.h=fs/%.check) \
$(LVMHDRS:%.h=lvm/%.check) \
@@ -955,8 +948,7 @@ CHECKHDRS= \
$(ROOTDCAMHDRS) \
$(ROOTISOHDRS) \
$(ROOTFMHDRS) \
- $(ROOTFMCPUHDRS) \
- $(ROOTFMIOHDRS) \
+ $(ROOTFMIOHDRS) \
$(ROOTFSHDRS) \
$(ROOTIBDHDRS) \
$(ROOTIBHDRS) \
@@ -1000,7 +992,6 @@ install_h: \
$(ROOTDCAMHDRS) \
$(ROOTISOHDRS) \
$(ROOTFMHDRS) \
- $(ROOTFMCPUHDRS) \
$(ROOTFMIOHDRS) \
$(ROOTFSHDRS) \
$(ROOTIBDHDRS) \
diff --git a/usr/src/uts/common/sys/chip.h b/usr/src/uts/common/sys/chip.h
index e33b521783..80b9541d9a 100644
--- a/usr/src/uts/common/sys/chip.h
+++ b/usr/src/uts/common/sys/chip.h
@@ -172,6 +172,7 @@ void chip_cpu_fini(cpu_t *);
void chip_cpu_assign(cpu_t *);
void chip_cpu_unassign(cpu_t *);
void chip_cpu_startup(cpu_t *);
+chip_t *chip_lookup(chipid_t);
void chip_bootstrap_cpu(cpu_t *);
void chip_cpu_move_part(cpu_t *, struct cpupart *,
diff --git a/usr/src/uts/common/sys/dumphdr.h b/usr/src/uts/common/sys/dumphdr.h
index 7be14a40ed..5949b218c8 100644
--- a/usr/src/uts/common/sys/dumphdr.h
+++ b/usr/src/uts/common/sys/dumphdr.h
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -33,7 +33,6 @@
#include <sys/param.h>
#include <sys/utsname.h>
#include <sys/log.h>
-#include <sys/fm/util.h>
#ifdef __cplusplus
extern "C" {
diff --git a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-II.h b/usr/src/uts/common/sys/fm/cpu/UltraSPARC-II.h
deleted file mode 100644
index c6013c9515..0000000000
--- a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-II.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SYS_FM_ULTRASPARC_II_H
-#define _SYS_FM_ULTRASPARC_II_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Ereport class subcategories for UltraSPARC I, and II families */
-#define FM_EREPORT_CPU_USI "ultraSPARC-I"
-#define FM_EREPORT_CPU_USII "ultraSPARC-II"
-#define FM_EREPORT_CPU_USIIe "ultraSPARC-IIe"
-#define FM_EREPORT_CPU_USIIi "ultraSPARC-IIi"
-#define FM_EREPORT_CPU_UNSUPPORTED "unsupported"
-
-/*
- * FM Ereport definitions.
- */
-#define FM_EREPORT_CPU_USII_ISAP "isap"
-#define FM_EREPORT_CPU_USII_ETP "etp"
-#define FM_EREPORT_CPU_USII_IVUE "ivue"
-#define FM_EREPORT_CPU_USII_TO "to"
-#define FM_EREPORT_CPU_USII_BERR "berr"
-#define FM_EREPORT_CPU_USII_LDP "ldp"
-#define FM_EREPORT_CPU_USII_CP "cp"
-#define FM_EREPORT_CPU_USII_WP "wp"
-#define FM_EREPORT_CPU_USII_EDP "edp"
-#define FM_EREPORT_CPU_USII_UE "ue"
-#define FM_EREPORT_CPU_USII_CE "ce"
-#define FM_EREPORT_CPU_USII_ESCRUB_TAG "escrub-etp"
-#define FM_EREPORT_CPU_USII_ESCRUB_DATA "escrub-edp"
-#define FM_EREPORT_CPU_USII_UNKNOWN "unknown"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_FM_ULTRASPARC_II_H */
diff --git a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-III.h b/usr/src/uts/common/sys/fm/cpu/UltraSPARC-III.h
deleted file mode 100644
index 6422868396..0000000000
--- a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-III.h
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * 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.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SYS_FM_ULTRASPARC_III_H
-#define _SYS_FM_ULTRASPARC_III_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Ereport class subcategories for UltraSPARC III and IV families */
-#define FM_EREPORT_CPU_USIII "ultraSPARC-III"
-#define FM_EREPORT_CPU_USIIIplus "ultraSPARC-IIIplus"
-#define FM_EREPORT_CPU_USIIIi "ultraSPARC-IIIi"
-#define FM_EREPORT_CPU_USIIIiplus "ultraSPARC-IIIiplus"
-#define FM_EREPORT_CPU_USIV "ultraSPARC-IV"
-#define FM_EREPORT_CPU_USIVplus "ultraSPARC-IVplus"
-#define FM_EREPORT_CPU_UNSUPPORTED "unsupported"
-
-/*
- * Ereport payload definitions.
- */
-#define FM_EREPORT_PAYLOAD_NAME_AFSR "afsr"
-#define FM_EREPORT_PAYLOAD_NAME_AFAR "afar"
-#define FM_EREPORT_PAYLOAD_NAME_AFAR_STATUS "afar-status"
-#define FM_EREPORT_PAYLOAD_NAME_PC "pc"
-#define FM_EREPORT_PAYLOAD_NAME_TL "tl"
-#define FM_EREPORT_PAYLOAD_NAME_TT "tt"
-#define FM_EREPORT_PAYLOAD_NAME_PRIV "privileged"
-#define FM_EREPORT_PAYLOAD_NAME_ME "multiple"
-#define FM_EREPORT_PAYLOAD_NAME_SYND "syndrome"
-#define FM_EREPORT_PAYLOAD_NAME_SYND_STATUS "syndrome-status"
-#define FM_EREPORT_PAYLOAD_NAME_EMU_EMR_SIZE "emu-mask-size"
-#define FM_EREPORT_PAYLOAD_NAME_EMU_EMR_DATA "emu-mask-data"
-#define FM_EREPORT_PAYLOAD_NAME_EMU_ESR_SIZE "emu-shadow-size"
-#define FM_EREPORT_PAYLOAD_NAME_EMU_ESR_DATA "emu-shadow-data"
-#define FM_EREPORT_PAYLOAD_NAME_L2_WAYS "l2-cache-ways"
-#define FM_EREPORT_PAYLOAD_NAME_L2_DATA "l2-cache-data"
-#define FM_EREPORT_PAYLOAD_NAME_L3_WAYS "l3-cache-ways"
-#define FM_EREPORT_PAYLOAD_NAME_L3_DATA "l3-cache-data"
-#define FM_EREPORT_PAYLOAD_NAME_L1D_WAYS "dcache-ways"
-#define FM_EREPORT_PAYLOAD_NAME_L1D_DATA "dcache-data"
-#define FM_EREPORT_PAYLOAD_NAME_L1I_WAYS "icache-ways"
-#define FM_EREPORT_PAYLOAD_NAME_L1I_DATA "icache-data"
-#define FM_EREPORT_PAYLOAD_NAME_L1P_WAYS "pcache-ways"
-#define FM_EREPORT_PAYLOAD_NAME_L1P_DATA "pcache-data"
-#define FM_EREPORT_PAYLOAD_NAME_ITLB_ENTRIES "itlb-entries"
-#define FM_EREPORT_PAYLOAD_NAME_ITLB_DATA "itlb-data"
-#define FM_EREPORT_PAYLOAD_NAME_DTLB_ENTRIES "dtlb-entries"
-#define FM_EREPORT_PAYLOAD_NAME_DTLB_DATA "dtlb-data"
-#define FM_EREPORT_PAYLOAD_NAME_ERR_TYPE "error-type"
-#define FM_EREPORT_PAYLOAD_NAME_RESOURCE "resource"
-#define FM_EREPORT_PAYLOAD_NAME_VA "va"
-#define FM_EREPORT_PAYLOAD_NAME_AFSR_EXT "afsr-ext"
-#define FM_EREPORT_PAYLOAD_NAME_COPYFUNCTION "copy-function"
-#define FM_EREPORT_PAYLOAD_NAME_INSTRBLOCK "instr-block"
-#define FM_EREPORT_PAYLOAD_NAME_HOWDETECTED "how-detected"
-#define FM_EREPORT_PAYLOAD_NAME_ERR_DISP "error-disposition"
-
-#define FM_EREPORT_PAYLOAD_FLAG_AFSR 0x0000000000000001
-#define FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS 0x0000000000000002
-#define FM_EREPORT_PAYLOAD_FLAG_AFAR 0x0000000000000004
-#define FM_EREPORT_PAYLOAD_FLAG_PC 0x0000000000000008
-#define FM_EREPORT_PAYLOAD_FLAG_TL 0x0000000000000010
-#define FM_EREPORT_PAYLOAD_FLAG_TT 0x0000000000000020
-#define FM_EREPORT_PAYLOAD_FLAG_PRIV 0x0000000000000040
-#define FM_EREPORT_PAYLOAD_FLAG_ME 0x0000000000000080
-#define FM_EREPORT_PAYLOAD_FLAG_SYND 0x0000000000000100
-#define FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS 0x0000000000000200
-#define FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE 0x0000000000000400
-#define FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA 0x0000000000000800
-#define FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE 0x0000000000001000
-#define FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA 0x0000000000002000
-#define FM_EREPORT_PAYLOAD_FLAG_L2_WAYS 0x0000000000004000
-#define FM_EREPORT_PAYLOAD_FLAG_L2_DATA 0x0000000000008000
-#define FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS 0x0000000000010000
-#define FM_EREPORT_PAYLOAD_FLAG_L1D_DATA 0x0000000000020000
-#define FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS 0x0000000000040000
-#define FM_EREPORT_PAYLOAD_FLAG_L1I_DATA 0x0000000000080000
-#define FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE 0x0000000000100000
-#define FM_EREPORT_PAYLOAD_FLAG_RESOURCE 0x0000000000200000
-#define FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT 0x0000000000400000
-#define FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS 0x0000000000800000
-#define FM_EREPORT_PAYLOAD_FLAG_L1P_DATA 0x0000000001000000
-#define FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES 0x0000000002000000
-#define FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA 0x0000000004000000
-#define FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES 0x0000000008000000
-#define FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA 0x0000000010000000
-#define FM_EREPORT_PAYLOAD_FLAG_FAULT_VA 0x0000000020000000
-#define FM_EREPORT_PAYLOAD_FLAG_L3_WAYS 0x0000000040000000
-#define FM_EREPORT_PAYLOAD_FLAG_L3_DATA 0x0000000080000000
-#define FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION 0x0000000100000000
-#define FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK 0x0000000200000000
-#define FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED 0x0000000400000000
-#define FM_EREPORT_PAYLOAD_FLAG_ERR_DISP 0x0000000800000000
-
-#define FM_EREPORT_PAYLOAD_FLAGS_AFAR \
- (FM_EREPORT_PAYLOAD_FLAG_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_AFAR_STATUS)
-#define FM_EREPORT_PAYLOAD_FLAGS_TRAP \
- (FM_EREPORT_PAYLOAD_FLAG_TL | \
- FM_EREPORT_PAYLOAD_FLAG_TT)
-#define FM_EREPORT_PAYLOAD_FLAGS_SYND \
- (FM_EREPORT_PAYLOAD_FLAG_SYND | \
- FM_EREPORT_PAYLOAD_FLAG_SYND_STATUS)
-#define FM_EREPORT_PAYLOAD_FLAGS_EMU \
- (FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_SIZE | \
- FM_EREPORT_PAYLOAD_FLAG_EMU_EMR_DATA | \
- FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_SIZE | \
- FM_EREPORT_PAYLOAD_FLAG_EMU_ESR_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L2 \
- (FM_EREPORT_PAYLOAD_FLAG_L2_WAYS | \
- FM_EREPORT_PAYLOAD_FLAG_L2_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L3 \
- (FM_EREPORT_PAYLOAD_FLAG_L3_WAYS | \
- FM_EREPORT_PAYLOAD_FLAG_L3_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L1D \
- (FM_EREPORT_PAYLOAD_FLAG_L1D_WAYS | \
- FM_EREPORT_PAYLOAD_FLAG_L1D_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L1I \
- (FM_EREPORT_PAYLOAD_FLAG_L1I_WAYS | \
- FM_EREPORT_PAYLOAD_FLAG_L1I_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L1P \
- (FM_EREPORT_PAYLOAD_FLAG_L1P_WAYS | \
- FM_EREPORT_PAYLOAD_FLAG_L1P_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_L1 \
- (FM_EREPORT_PAYLOAD_FLAGS_L1D | \
- FM_EREPORT_PAYLOAD_FLAGS_L1I)
-#define FM_EREPORT_PAYLOAD_FLAGS_L1L2 \
- (FM_EREPORT_PAYLOAD_FLAGS_L1 | \
- FM_EREPORT_PAYLOAD_FLAGS_L2)
-#define FM_EREPORT_PAYLOAD_FLAGS_ITLB \
- (FM_EREPORT_PAYLOAD_FLAG_ITLB_ENTRIES | \
- FM_EREPORT_PAYLOAD_FLAG_ITLB_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_DTLB \
- (FM_EREPORT_PAYLOAD_FLAG_DTLB_ENTRIES | \
- FM_EREPORT_PAYLOAD_FLAG_DTLB_DATA)
-#define FM_EREPORT_PAYLOAD_FLAGS_TLB \
- (FM_EREPORT_PAYLOAD_FLAGS_ITLB | \
- FM_EREPORT_PAYLOAD_FLAGS_DTLB)
-#define FM_EREPORT_PAYLOAD_FLAG_AFSRS \
- (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
- FM_EREPORT_PAYLOAD_FLAG_AFSR_EXT)
-
-
-#define FM_EREPORT_PAYLOAD_UNKNOWN 0
-#define FM_EREPORT_PAYLOAD_INVALID_AFSR (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME)
-#define FM_EREPORT_PAYLOAD_SYSTEM1 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME)
-#define FM_EREPORT_PAYLOAD_SYSTEM2 (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_EMU)
-#define FM_EREPORT_PAYLOAD_SYSTEM3 (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_L2)
-#define FM_EREPORT_PAYLOAD_IO (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME)
-#define FM_EREPORT_PAYLOAD_L2_TAG_PE (FM_EREPORT_PAYLOAD_FLAG_AFSR | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2)
-#define FM_EREPORT_PAYLOAD_L2_TAG_ECC (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
- FM_EREPORT_PAYLOAD_FLAGS_L3)
-#define FM_EREPORT_PAYLOAD_L3_TAG_ECC (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
- FM_EREPORT_PAYLOAD_FLAGS_L3)
-#define FM_EREPORT_PAYLOAD_L2_DATA (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_SYND | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
- FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
- FM_EREPORT_PAYLOAD_FLAGS_L3)
-#define FM_EREPORT_PAYLOAD_L3_DATA (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_SYND | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
- FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
- FM_EREPORT_PAYLOAD_FLAGS_L3)
-#define FM_EREPORT_PAYLOAD_MEMORY (FM_EREPORT_PAYLOAD_FLAG_AFSRS | \
- FM_EREPORT_PAYLOAD_FLAGS_AFAR | \
- FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAG_ME | \
- FM_EREPORT_PAYLOAD_FLAGS_SYND | \
- FM_EREPORT_PAYLOAD_FLAG_ERR_TYPE | \
- FM_EREPORT_PAYLOAD_FLAG_ERR_DISP | \
- FM_EREPORT_PAYLOAD_FLAGS_L1L2 | \
- FM_EREPORT_PAYLOAD_FLAG_RESOURCE | \
- FM_EREPORT_PAYLOAD_FLAGS_L3)
-#define FM_EREPORT_PAYLOAD_ICACHE_PE (FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAGS_L1I)
-#define FM_EREPORT_PAYLOAD_DCACHE_PE (FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAGS_L1D)
-#define FM_EREPORT_PAYLOAD_PCACHE_PE (FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAGS_L1P)
-#define FM_EREPORT_PAYLOAD_ITLB_PE (FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAGS_ITLB)
-#define FM_EREPORT_PAYLOAD_DTLB_PE (FM_EREPORT_PAYLOAD_FLAG_PC | \
- FM_EREPORT_PAYLOAD_FLAGS_TRAP | \
- FM_EREPORT_PAYLOAD_FLAG_PRIV | \
- FM_EREPORT_PAYLOAD_FLAGS_DTLB | \
- FM_EREPORT_PAYLOAD_FLAG_FAULT_VA)
-#define FM_EREPORT_PAYLOAD_FPU_HWCOPY (FM_EREPORT_PAYLOAD_FLAG_COPYFUNCTION |\
- FM_EREPORT_PAYLOAD_FLAG_INSTRBLOCK|\
- FM_EREPORT_PAYLOAD_FLAG_HOWDETECTED)
-/*
- * FM_EREPORT_PAYLOAD_UNKNOWN
- */
-#define FM_EREPORT_CPU_USIII_UNKNOWN "unknown"
-
-/*
- * FM_EREPORT_PAYLOAD_INVALID_AFSR
- */
-#define FM_EREPORT_CPU_USIII_INVALID_AFSR "invalid-afsr"
-
-/*
- * FM_EREPORT_PAYLOAD_SYSTEM1
- */
-#define FM_EREPORT_CPU_USIII_IVC "ivc"
-#define FM_EREPORT_CPU_USIII_IVU "ivu"
-#define FM_EREPORT_CPU_USIII_IMC "imc"
-#define FM_EREPORT_CPU_USIII_IMU "imu"
-#define FM_EREPORT_CPU_USIII_JETO "jeto"
-#define FM_EREPORT_CPU_USIII_SCE "sce"
-#define FM_EREPORT_CPU_USIII_JEIC "jeic"
-#define FM_EREPORT_CPU_USIII_JEIT "jeit"
-#define FM_EREPORT_CPU_USIII_JEIS "jeis"
-#define FM_EREPORT_CPU_USIII_ISAP "isap"
-#define FM_EREPORT_CPU_USIII_IVPE "ivpe"
-
-/*
- * FM_EREPORT_PAYLOAD_SYSTEM2
- */
-#define FM_EREPORT_CPU_USIII_PERR "perr"
-#define FM_EREPORT_CPU_USIII_IERR "ierr"
-
-/*
- * FM_EREPORT_PAYLOAD_SYSTEM3
- */
-#define FM_EREPORT_CPU_USIII_BP "bp"
-#define FM_EREPORT_CPU_USIII_WBP "wbp"
-
-/*
- * FM_EREPORT_PAYLOAD_IO
- */
-#define FM_EREPORT_CPU_USIII_TO "to"
-#define FM_EREPORT_CPU_USIII_BERR "berr"
-#define FM_EREPORT_CPU_USIII_DTO "dto"
-#define FM_EREPORT_CPU_USIII_DBERR "dberr"
-#define FM_EREPORT_CPU_USIII_OM "om"
-#define FM_EREPORT_CPU_USIII_UMS "ums"
-
-/*
- * FM_EREPORT_PAYLOAD_L2_TAG_PE
- */
-#define FM_EREPORT_CPU_USIII_ETP "etp"
-
-/*
- * FM_EREPORT_PAYLOAD_L2_TAG_ECC
- */
-#define FM_EREPORT_CPU_USIII_THCE "thce"
-#define FM_EREPORT_CPU_USIII_TSCE "tsce"
-#define FM_EREPORT_CPU_USIII_TUE "tue"
-#define FM_EREPORT_CPU_USIII_TUE_SH "tue-sh"
-#define FM_EREPORT_CPU_USIII_ETU "etu"
-#define FM_EREPORT_CPU_USIII_ETC "etc"
-#define FM_EREPORT_CPU_USIII_ETI "eti"
-#define FM_EREPORT_CPU_USIII_ETS "ets"
-
-/*
- * FM_EREPORT_PAYLOAD_L3_TAG_ECC
- */
-#define FM_EREPORT_CPU_USIII_L3_THCE "l3-thce"
-#define FM_EREPORT_CPU_USIII_L3_TUE "l3-tue"
-#define FM_EREPORT_CPU_USIII_L3_TUE_SH "l3-tue-sh"
-
-/*
- * FM_EREPORT_PAYLOAD_L2_DATA
- */
-#define FM_EREPORT_CPU_USIII_UCC "ucc"
-#define FM_EREPORT_CPU_USIII_UCU "ucu"
-#define FM_EREPORT_CPU_USIII_CPC "cpc"
-#define FM_EREPORT_CPU_USIII_CPU "cpu"
-#define FM_EREPORT_CPU_USIII_WDC "wdc"
-#define FM_EREPORT_CPU_USIII_WDU "wdu"
-#define FM_EREPORT_CPU_USIII_EDC "edc"
-#define FM_EREPORT_CPU_USIII_EDUBL "edu-bl"
-#define FM_EREPORT_CPU_USIII_EDUST "edu-st"
-
-/*
- * FM_EREPORT_PAYLOAD_L3_DATA
- */
-#define FM_EREPORT_CPU_USIII_L3_UCC "l3-ucc"
-#define FM_EREPORT_CPU_USIII_L3_UCU "l3-ucu"
-#define FM_EREPORT_CPU_USIII_L3_CPC "l3-cpc"
-#define FM_EREPORT_CPU_USIII_L3_CPU "l3-cpu"
-#define FM_EREPORT_CPU_USIII_L3_WDC "l3-wdc"
-#define FM_EREPORT_CPU_USIII_L3_WDU "l3-wdu"
-#define FM_EREPORT_CPU_USIII_L3_EDC "l3-edc"
-#define FM_EREPORT_CPU_USIII_L3_EDUBL "l3-edu-bl"
-#define FM_EREPORT_CPU_USIII_L3_EDUST "l3-edu-st"
-#define FM_EREPORT_CPU_USIII_L3_MECC "l3-mecc"
-
-/*
- * FM_EREPORT_PAYLOAD_MEMORY
- */
-#define FM_EREPORT_CPU_USIII_CE "ce"
-#define FM_EREPORT_CPU_USIII_RCE "rce"
-#define FM_EREPORT_CPU_USIII_FRC "frc"
-#define FM_EREPORT_CPU_USIII_EMC "emc"
-#define FM_EREPORT_CPU_USIII_UE "ue"
-#define FM_EREPORT_CPU_USIII_DUE "due"
-#define FM_EREPORT_CPU_USIII_RUE "rue"
-#define FM_EREPORT_CPU_USIII_FRU "fru"
-#define FM_EREPORT_CPU_USIII_EMU "emu"
-
-/*
- * FM_EREPORT_PAYLOAD_ICACHE_PE
- */
-#define FM_EREPORT_CPU_USIII_IPE "ipe"
-#define FM_EREPORT_CPU_USIII_IDSPE "idspe"
-#define FM_EREPORT_CPU_USIII_ITSPE "itspe"
-
-/*
- * FM_EREPORT_PAYLOAD_DCACHE_PE
- */
-#define FM_EREPORT_CPU_USIII_DPE "dpe"
-#define FM_EREPORT_CPU_USIII_DDSPE "ddspe"
-#define FM_EREPORT_CPU_USIII_DTSPE "dtspe"
-
-/*
- * FM_EREPORT_PAYLOAD_PCACHE_PE
- */
-#define FM_EREPORT_CPU_USIII_PDSPE "pdspe"
-
-
-/*
- * FM_EREPORT_PAYLOAD_DTLB_PE
- */
-#define FM_EREPORT_CPU_USIII_DTLBPE "dtlbpe"
-
-/*
- * FM_EREPORT_PAYLOAD_ITLB_PE
- */
-#define FM_EREPORT_CPU_USIII_ITLBPE "itlbpe"
-
-/*
- * FM_EREPORT_PAYLOAD_FPU_HWCOPY
- */
-#define FM_EREPORT_CPU_USIII_FPU_HWCOPY "fpu.hwcopy"
-
-/*
- * Magic values for cache dump logflags.
- * These flags are used to indicate that the structures
- * defined in cheetahregs.h to capture cache data contain
- * valid information.
- */
-#define EC_LOGFLAG_MAGIC 0xEC0106F1A6 /* =~ EC_LOGFLAG */
-#define DC_LOGFLAG_MAGIC 0xDC0106F1A6 /* =~ DC_LOGFLAG */
-#define IC_LOGFLAG_MAGIC 0x1C0106F1A6 /* =~ IC_LOGFLAG */
-#define PC_LOGFLAG_MAGIC 0x9C0106F1A6 /* =~ PC_LOGFLAG */
-#define IT_LOGFLAG_MAGIC 0x170106F1A6 /* =~ IT_LOGFLAG */
-#define DT_LOGFLAG_MAGIC 0xD70106F1A6 /* =~ DT_LOGFLAG */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_FM_ULTRASPARC_III_H */
diff --git a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-T1.h b/usr/src/uts/common/sys/fm/cpu/UltraSPARC-T1.h
deleted file mode 100644
index e6ffdfe922..0000000000
--- a/usr/src/uts/common/sys/fm/cpu/UltraSPARC-T1.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _SYS_FM_ULTRASPARC_T1_H
-#define _SYS_FM_ULTRASPARC_T1_H
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * header file for Niagara-specific ereports
- */
-
-#define FM_EREPORT_PAYLOAD_NAME_L2_AFSR "l2-afsr"
-#define FM_EREPORT_PAYLOAD_NAME_L2_REAL_AFAR "l2-real-afar"
-#define FM_EREPORT_PAYLOAD_NAME_L2_SYND "l2-synd"
-
-#define FM_EREPORT_PAYLOAD_NAME_DRAM_AFSR "dram-afsr"
-#define FM_EREPORT_PAYLOAD_NAME_DRAM_REAL_AFAR "dram-real-afar"
-#define FM_EREPORT_PAYLOAD_NAME_DRAM_SYND "dram-synd"
-
-#define FM_EREPORT_CPU_UST1_DAU "dau"
-#define FM_EREPORT_CPU_UST1_DAC "dac"
-#define FM_EREPORT_CPU_UST1_DSU "dsu"
-#define FM_EREPORT_CPU_UST1_DSC "dsc"
-
-/*
- * The following constants are also defined in UltraSPARC-III.h and
- * could possibly be moved into a common header file
- */
-
-#define FM_EREPORT_PAYLOAD_NAME_RESOURCE "resource"
-#define FM_EREPORT_PAYLOAD_NAME_ERR_TYPE "error-type"
-#define FM_EREPORT_PAYLOAD_NAME_ERR_DISP "error-disposition"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SYS_FM_ULTRASPARC_T1_H */
diff --git a/usr/src/uts/common/sys/fm/protocol.h b/usr/src/uts/common/sys/fm/protocol.h
index 32f4d099f0..89b761ef6c 100644
--- a/usr/src/uts/common/sys/fm/protocol.h
+++ b/usr/src/uts/common/sys/fm/protocol.h
@@ -21,7 +21,7 @@
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -177,7 +177,8 @@ extern "C" {
#define FM_HC_VERS0 0
#define FM_HC_SCHEME_VERSION FM_HC_VERS0
#define CPU_SCHEME_VERSION0 0
-#define FM_CPU_SCHEME_VERSION CPU_SCHEME_VERSION0
+#define CPU_SCHEME_VERSION1 1
+#define FM_CPU_SCHEME_VERSION CPU_SCHEME_VERSION1
#define MEM_SCHEME_VERSION0 0
#define FM_MEM_SCHEME_VERSION MEM_SCHEME_VERSION0
#define MOD_SCHEME_VERSION0 0
@@ -194,6 +195,7 @@ extern "C" {
#define FM_FMRI_HC_ROOT "hc-root"
#define FM_FMRI_HC_LIST_SZ "hc-list-sz"
#define FM_FMRI_HC_LIST "hc-list"
+#define FM_FMRI_HC_SPECIFIC "hc-specific"
/* hc-list version and member names */
#define FM_FMRI_HC_NAME "hc-name"
@@ -202,6 +204,9 @@ extern "C" {
#define HC_LIST_VERSION0 0
#define FM_HC_LIST_VERSION HC_LIST_VERSION0
+/* hc-specific member names */
+#define FM_FMRI_HC_SPECIFIC_OFFSET "offset"
+
/* fmd module scheme member names */
#define FM_FMRI_FMD_NAME "mod-name"
#define FM_FMRI_FMD_VERSION "mod-version"
@@ -261,13 +266,13 @@ extern void fm_ereport_set(nvlist_t *, int, const char *, uint64_t,
const nvlist_t *, ...);
extern void fm_payload_set(nvlist_t *, ...);
extern int i_fm_payload_set(nvlist_t *, const char *, va_list);
-extern void fm_fmri_hc_set(nvlist_t *, int, const nvlist_t *, const char *,
- const char *, const char *, const char *, uint32_t, ...);
+extern void fm_fmri_hc_set(nvlist_t *, int, const nvlist_t *, nvlist_t *,
+ int, ...);
extern void fm_fmri_dev_set(nvlist_t *, int, const nvlist_t *, const char *,
const char *);
extern void fm_fmri_de_set(nvlist_t *, int, const nvlist_t *, const char *);
extern void fm_fmri_cpu_set(nvlist_t *, int, const nvlist_t *, uint32_t,
- uint8_t, uint64_t);
+ uint8_t *, const char *);
extern void fm_fmri_mem_set(nvlist_t *, int, const nvlist_t *, const char *,
const char *, uint64_t);
extern void fm_authority_set(nvlist_t *, int, const char *, const char *,
diff --git a/usr/src/uts/common/sys/fm/util.h b/usr/src/uts/common/sys/fm/util.h
index c0dc908ddc..33f5876cab 100644
--- a/usr/src/uts/common/sys/fm/util.h
+++ b/usr/src/uts/common/sys/fm/util.h
@@ -19,8 +19,9 @@
*
* CDDL HEADER END
*/
+
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -74,9 +75,14 @@ typedef struct erpt_dump {
} erpt_dump_t;
#ifdef _KERNEL
+#include <sys/systm.h>
+#define FM_STK_DEPTH 20 /* maximum stack depth */
+#define FM_SYM_SZ 64 /* maximum symbol size */
#define FM_ERR_PIL 2 /* PIL for ereport_errorq drain processing */
+#define FM_EREPORT_PAYLOAD_NAME_STACK "stack"
+
extern errorq_t *ereport_errorq;
extern void *ereport_dumpbuf;
extern size_t ereport_dumplen;
@@ -89,6 +95,8 @@ extern void fm_banner(void);
extern void fm_ereport_dump(void);
extern void fm_ereport_post(nvlist_t *, int);
+extern void fm_payload_stack_add(nvlist_t *, const pc_t *, int);
+
#endif /* _KERNEL */
#ifdef __cplusplus
diff --git a/usr/src/uts/common/sys/kobj.h b/usr/src/uts/common/sys/kobj.h
index c2f8b2f9cb..7d2bd0922e 100644
--- a/usr/src/uts/common/sys/kobj.h
+++ b/usr/src/uts/common/sys/kobj.h
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -152,7 +152,7 @@ typedef struct {
extern int kobj_load_module(struct modctl *, int);
extern void kobj_unload_module(struct modctl *);
-extern uintptr_t kobj_lookup(void *, char *);
+extern uintptr_t kobj_lookup(struct module *, const char *);
extern Sym *kobj_lookup_all(struct module *, char *, int);
extern int kobj_addrcheck(void *, caddr_t);
extern int kobj_module_to_id(void *);
diff --git a/usr/src/uts/common/sys/mem.h b/usr/src/uts/common/sys/mem.h
index f6f749ef0e..d1307589a1 100644
--- a/usr/src/uts/common/sys/mem.h
+++ b/usr/src/uts/common/sys/mem.h
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -55,6 +55,14 @@ typedef struct mem_vtop {
pfn_t m_pfn;
} mem_vtop_t;
+#if defined(_SYSCALL32)
+typedef struct mem_vtop32 {
+ uint32_t m_as;
+ uint32_t m_va;
+ uint32_t m_pfn;
+} mem_vtop32_t;
+#endif
+
/*
* Private ioctls for fmd(1M). These interfaces are Sun Private. Applications
* and drivers should not make use of these interfaces: they can change without
diff --git a/usr/src/uts/common/sys/modctl.h b/usr/src/uts/common/sys/modctl.h
index 06019d5f0f..d2f4cfd803 100644
--- a/usr/src/uts/common/sys/modctl.h
+++ b/usr/src/uts/common/sys/modctl.h
@@ -62,6 +62,9 @@ struct mod_ops {
* The defined set of mod_ops structures for each loadable module type
* Defined in modctl.c
*/
+#if defined(__i386) || defined(__amd64)
+extern struct mod_ops mod_cpuops;
+#endif
extern struct mod_ops mod_cryptoops;
extern struct mod_ops mod_driverops;
extern struct mod_ops mod_execops;
@@ -107,6 +110,17 @@ struct modlfs {
struct vfsdef_v3 *fs_vfsdef; /* version may actually vary */
};
+#if defined(__i386) || defined(__amd64)
+struct cmi_ops;
+
+/* For CPU modules */
+struct modlcpu {
+ struct mod_ops *cpu_modops;
+ char *cpu_linkinfo;
+ struct cmi_ops *cpu_cmiops;
+};
+#endif
+
/* For cryptographic providers */
struct modlcrypto {
struct mod_ops *crypto_modops;
@@ -417,7 +431,7 @@ struct modctl_list {
* are replicated in the modctl structure so that mod_containing_pc()
* doesn't have to grab any locks (modctls are persistent; modules are not.)
*/
-struct modctl {
+typedef struct modctl {
struct modctl *mod_next; /* &modules based list */
struct modctl *mod_prev;
int mod_id;
@@ -449,7 +463,7 @@ struct modctl {
int mod_gencount; /* # times loaded/unloaded */
struct modctl *mod_requisite_loading; /* mod circular dependency */
-};
+} modctl_t;
/*
* mod_loadflags
@@ -479,7 +493,10 @@ extern int moddebug;
* this is the head of a doubly linked list. Only the next and prev
* pointers are used
*/
-extern struct modctl modules;
+extern modctl_t modules;
+
+extern int modload_qualified(const char *,
+ const char *, const char *, const char *, uint_t[], int);
extern void mod_setup(void);
extern int modload(char *, char *);
@@ -494,7 +511,7 @@ extern int mod_remove_by_name(char *);
extern int mod_sysvar(const char *, const char *, u_longlong_t *);
extern int mod_sysctl(int, void *);
struct sysparam;
-extern int mod_hold_by_modctl(struct modctl *, int);
+extern int mod_hold_by_modctl(modctl_t *, int);
#define MOD_WAIT_ONCE 0x01
#define MOD_WAIT_FOREVER 0x02
#define MOD_LOCK_HELD 0x04
@@ -506,13 +523,15 @@ extern void mod_release_stub(struct mod_stub_info *);
extern void mod_askparams(void);
extern void mod_uninstall_daemon(void);
extern void modreap(void);
-extern struct modctl *mod_hold_by_name(char *);
-extern void mod_release_mod(struct modctl *);
-extern uintptr_t modlookup(char *, char *);
+extern modctl_t *mod_hold_by_id(modid_t);
+extern modctl_t *mod_hold_by_name(const char *);
+extern void mod_release_mod(modctl_t *);
+extern uintptr_t modlookup(const char *, const char *);
+extern uintptr_t modlookup_by_modctl(modctl_t *, const char *);
extern char *modgetsymname(uintptr_t, unsigned long *);
-extern void mod_release_requisites(struct modctl *);
-extern struct modctl *mod_load_requisite(struct modctl *, char *);
-extern struct modctl *mod_find_by_filename(char *, char *);
+extern void mod_release_requisites(modctl_t *);
+extern modctl_t *mod_load_requisite(modctl_t *, char *);
+extern modctl_t *mod_find_by_filename(char *, char *);
extern uintptr_t modgetsymvalue(char *, int);
extern void mod_rele_dev_by_major(major_t);
@@ -532,11 +551,11 @@ extern void read_class_file(void);
extern void setbootpath(char *);
extern void setbootfstype(char *);
-extern int install_stubs_by_name(struct modctl *, char *);
-extern void install_stubs(struct modctl *);
-extern void uninstall_stubs(struct modctl *);
-extern void reset_stubs(struct modctl *);
-extern struct modctl *mod_getctl(struct modlinkage *);
+extern int install_stubs_by_name(modctl_t *, char *);
+extern void install_stubs(modctl_t *);
+extern void uninstall_stubs(modctl_t *);
+extern void reset_stubs(modctl_t *);
+extern modctl_t *mod_getctl(struct modlinkage *);
extern major_t mod_name_to_major(char *);
extern modid_t mod_name_to_modid(char *);
extern char *mod_major_to_name(major_t);
@@ -550,7 +569,7 @@ extern char *mod_containing_pc(caddr_t);
extern int mod_in_autounload(void);
extern char *mod_modname(struct modlinkage *);
-extern int dev_minorperm(dev_info_t *dip, char *name, mperm_t *rmp);
+extern int dev_minorperm(dev_info_t *, char *, mperm_t *);
/*
* Declarations used for dynamic linking support routines. Interfaces
diff --git a/usr/src/uts/common/sys/policy.h b/usr/src/uts/common/sys/policy.h
index 3e1b260c1e..9653a58b0e 100644
--- a/usr/src/uts/common/sys/policy.h
+++ b/usr/src/uts/common/sys/policy.h
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -88,6 +88,7 @@ boolean_t secpolicy_contract_event_choice(const cred_t *);
int secpolicy_coreadm(const cred_t *);
int secpolicy_cpc_cpu(const cred_t *);
int secpolicy_dispadm(const cred_t *);
+int secpolicy_error_inject(const cred_t *);
int secpolicy_excl_open(const cred_t *);
int secpolicy_fs_mount(cred_t *, vnode_t *, struct vfs *);
int secpolicy_fs_unmount(cred_t *, struct vfs *);