3db86aab554edbb4244c8d1a1c90f152eee768afstevel/*
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * CDDL HEADER START
3db86aab554edbb4244c8d1a1c90f152eee768afstevel *
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * The contents of this file are subject to the terms of the
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * Common Development and Distribution License (the "License").
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * You may not use this file except in compliance with the License.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel *
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * or http://www.opensolaris.org/os/licensing.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * See the License for the specific language governing permissions
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * and limitations under the License.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel *
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * When distributing Covered Code, include this CDDL HEADER in each
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * If applicable, add the following below this CDDL HEADER, with the
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * fields enclosed by brackets "[]" replaced with your own identifying
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * information: Portions Copyright [yyyy] [name of copyright owner]
3db86aab554edbb4244c8d1a1c90f152eee768afstevel *
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * CDDL HEADER END
3db86aab554edbb4244c8d1a1c90f152eee768afstevel */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel/*
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * Copyright 1997 Sun Microsystems, Inc. All rights reserved.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel * Use is subject to license terms.
3db86aab554edbb4244c8d1a1c90f152eee768afstevel */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#ifndef _JAV_ENVCTRLTWO_H
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#define _JAV_ENVCTRLTWO_H
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#pragma ident "%Z%%M% %I% %E% SMI"
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#ifdef __cplusplus
3db86aab554edbb4244c8d1a1c90f152eee768afstevelextern "C" {
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#endif
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#if defined(_KERNEL)
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevelstruct envctrlunit {
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_pcd8584_regs *bus_ctl_regs;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel ddi_acc_handle_t ctlr_handle;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kmutex_t umutex; /* lock for this structure */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int instance;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel dev_info_t *dip; /* device information */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_ps2 ps_kstats[ENVCTRL_MAX_DEVS]; /* kstats for ps */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_fan fan_kstats; /* kstats for fans */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_encl encl_kstats; /* kstats for FSP */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_temp temp_kstats[ENVCTRL_MAX_DEVS]; /* tempreratures */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel struct envctrl_disk disk_kstats[ENVCTRL_MAX_DEVS]; /* disks */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int cpu_pr_location[ENVCTRL_MAX_CPUS]; /* slot true if cpu present */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_fans_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_ps_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_encl_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_cpus_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_temps_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel uint_t num_disks_present;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kstat_t *psksp;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kstat_t *fanksp;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kstat_t *enclksp;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kstat_t *tempksp;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel kstat_t *diskksp;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel ddi_iblock_cookie_t ic_trap_cookie; /* interrupt cookie */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel /* CPR support */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel boolean_t suspended; /* TRUE if driver suspended */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel boolean_t oflag; /* already open */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int current_mode; /* NORMAL or DIAG_MODE */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel timeout_id_t timeout_id; /* timeout id */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel timeout_id_t pshotplug_id; /* ps poll id */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int activity_led_blink;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int present_led_state; /* is it on or off?? */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel timeout_id_t blink_timeout_id;
3db86aab554edbb4244c8d1a1c90f152eee768afstevel int initting; /* 1 is TRUE , 0 is FALSE , used to mask intrs */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel boolean_t shutdown; /* TRUE = power off in error event */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel boolean_t fan_failed; /* TRUE = fan failure detected */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel boolean_t tempr_warning; /* TRUE = thermal warning detected */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel};
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#endif /* _KERNEL */
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#ifdef __cplusplus
3db86aab554edbb4244c8d1a1c90f152eee768afstevel}
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#endif
3db86aab554edbb4244c8d1a1c90f152eee768afstevel
3db86aab554edbb4244c8d1a1c90f152eee768afstevel#endif /* _JAV_ENVCTRLTWO_H */