pdevinfo_sun4u.h revision 03831d35f7499c87d51205817c93e9a8d42c4bae
/*
* 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
* 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 (c) 1999 by Sun Microsystems, Inc.
* All rights reserved.
*/
#ifndef _PDEVINFO_SUN4U_H
#define _PDEVINFO_SUN4U_H
#pragma ident "%Z%%M% %I% %E% SMI"
#include <sys/envctrl_gen.h>
#include <sys/envctrl_ue250.h>
#include <sys/envctrl_ue450.h>
#include <sys/simmstat.h>
#include <reset_info.h>
#ifdef __cplusplus
extern "C" {
#endif
#define UNIX "unix"
/* Define names of nodes to search for */
#define CPU_NAME "SUNW,UltraSPARC"
#define SBUS_NAME "sbus"
#define PCI_NAME "pci"
#define FFB_NAME "SUNW,ffb"
#define AFB_NAME "SUNW,afb"
struct mem_stat_data {
};
struct bd_kstat_data {
int ac_kstats_ok; /* successful kstat read occurred */
int fhc_kstats_ok; /* successful kstat read occurred */
int simmstat_kstats_ok; /* successful read occurred */
struct temp_stats tempstat;
int temp_kstat_ok;
int ac_memstat_ok; /* successful read of memory status */
};
/*
* Hot plug info structure. If a hotplug kstat is found, the bd_info
* structure from the kstat is filled in the the hp_info structure
* is marked OK.
*/
struct hp_info {
int kstat_ok;
};
/* Environmental info for Tazmo */
struct envctrl_kstat_data {
};
/* Environmental info for Javelin */
struct envctrltwo_kstat_data {
int num_ps_kstats;
int num_fan_kstats;
int num_encl_kstats;
int num_temp_kstats;
int num_disk_kstats;
};
struct system_kstat_data {
int psstat_kstat_ok;
int sys_kstats_ok; /* successful kstat read occurred */
struct temp_stats tempstat;
int temp_kstat_ok;
struct reset_info reset_info;
int reset_kstats_ok; /* kstat read OK */
int nfaults; /* number of faults in fault array */
int ft_kstat_ok; /* Fault kstats OK */
int envctrl_kstat_ok;
int envctrltwo_kstat_ok;
};
/* Description of a single memory group */
struct grp {
int valid; /* active memory group present */
int board; /* board number */
int group; /* group # on board (0 or 1) */
int factor; /* interleave factor (0,2,4,8,16) */
int speed; /* Memory speed (in ns) */
char groupid; /* Alpha tag for group ID */
};
#define MAX_GROUPS 32
#define MAXSTRLEN 256
/* Array of all possible groups in the system. */
struct grp_info {
};
/* A memory interleave structure */
struct inter_grp {
int valid;
int count;
char groupid;
};
/* Array of all possible memory interleave structures */
struct mem_inter {
};
/* FFB info structure */
struct ffbinfo {
int board;
int upa_id;
char *dev;
};
/* FFB strap reg union */
union strap_un {
struct {
} fld;
};
/* known values for manufacturer's JED code */
#define MANF_BROOKTREE 214
#define MANF_MITSUBISHI 28
/* FFB mnufacturer union */
union manuf {
struct {
} fld;
};
struct ffb_sys_info {
unsigned int ffb_strap_bits; /* ffb_strapping register */
unsigned int fbc_version; /* revision of FBC chip */
unsigned int dac_version; /* revision of DAC chip */
unsigned int fbram_version; /* revision of FBRAMs chip */
unsigned int flags; /* miscellaneous flags */
unsigned int afb_nfloats; /* no. of Float asics in AFB */
};
#ifdef __cplusplus
}
#endif
#endif /* _PDEVINFO_SUN4U_H */