03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER START
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The contents of this file are subject to the terms of the
25cf1a301a396c38e8adf52c15f537b80d2483f7jl * Common Development and Distribution License (the "License").
25cf1a301a396c38e8adf52c15f537b80d2483f7jl * You may not use this file except in compliance with the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
03831d35f7499c87d51205817c93e9a8d42c4baestevel * See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * When distributing Covered Code, include this CDDL HEADER in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If applicable, add the following below this CDDL HEADER, with the
03831d35f7499c87d51205817c93e9a8d42c4baestevel * fields enclosed by brackets "[]" replaced with your own identifying
03831d35f7499c87d51205817c93e9a8d42c4baestevel * information: Portions Copyright [yyyy] [name of copyright owner]
03831d35f7499c87d51205817c93e9a8d42c4baestevel * CDDL HEADER END
25cf1a301a396c38e8adf52c15f537b80d2483f7jl * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Use is subject to license terms.
03831d35f7499c87d51205817c93e9a8d42c4baestevel#pragma ident "%Z%%M% %I% %E% SMI"
03831d35f7499c87d51205817c93e9a8d42c4baestevelextern "C" {
03831d35f7499c87d51205817c93e9a8d42c4baestevel { printf("\n%s failed with %d\n", msg, err); exit(err); }
03831d35f7499c87d51205817c93e9a8d42c4baestevel/* global data */
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Defines for identifying PCI devices
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define CLASS_REG_TO_SUBCLASS(class) (((class) & PCI_SUBCLASS_MASK) \
03831d35f7499c87d51205817c93e9a8d42c4baestevel#define CLASS_REG_TO_CLASS(class) ((class) >> PCI_CLASS_SHIFT)
03831d35f7499c87d51205817c93e9a8d42c4baestevel * display functions
03831d35f7499c87d51205817c93e9a8d42c4baestevelint error_check(Sys_tree *tree, struct system_kstat_data *kstats);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid display_hp_fail_fault(Sys_tree *tree, struct system_kstat_data *kstats);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid display_diaginfo(int flag, Prom_node *root, Sys_tree *tree,
03831d35f7499c87d51205817c93e9a8d42c4baestevel * cpu functions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * io functions
03831d35f7499c87d51205817c93e9a8d42c4baestevelstruct io_card *insert_io_card(struct io_card *, struct io_card *);
03831d35f7499c87d51205817c93e9a8d42c4baestevelchar *fmt_manf_id(unsigned int, char *);
03831d35f7499c87d51205817c93e9a8d42c4baestevelint populate_slot_name_arr(Prom_node *pci, int *slot_name_bits,
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid get_dev_func_num(Prom_node *card_node, int *dev_no, int *func_no);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid get_pci_class_codes(Prom_node *card_node, int *class_code,
03831d35f7499c87d51205817c93e9a8d42c4baestevelint is_pci_bridge_other(Prom_node *card_node, char *name);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid get_pci_card_model(Prom_node *card_node, char *model);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid create_io_card_name(Prom_node *card_node, char *name,
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid get_slot_number_str(struct io_card *card, char **slot_name_arr,
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid distinguish_identical_io_cards(char *name, Prom_node *node,
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid decode_qlc_card_model_prop(Prom_node *card_node, struct io_card *card);
03831d35f7499c87d51205817c93e9a8d42c4baestevel * kstat functions
03831d35f7499c87d51205817c93e9a8d42c4baestevel struct bd_kstat_data *bdp, struct envctrl_kstat_data *ep);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid read_sun4u_kstats(Sys_tree *, struct system_kstat_data *);
03831d35f7499c87d51205817c93e9a8d42c4baestevel * memory functions
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid display_memorysize(Sys_tree *tree, struct system_kstat_data *kstats,
03831d35f7499c87d51205817c93e9a8d42c4baestevel struct grp_info *grps, struct mem_total *memory_total);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid display_memoryconf(Sys_tree *tree, struct grp_info *grps);
03831d35f7499c87d51205817c93e9a8d42c4baestevel * prom functions
03831d35f7499c87d51205817c93e9a8d42c4baestevel * libdevinfo functions
03831d35f7499c87d51205817c93e9a8d42c4baestevelint do_devinfo(int, char *, int, int);
03831d35f7499c87d51205817c93e9a8d42c4baestevel * mc-us3 memory functions and structs
03831d35f7499c87d51205817c93e9a8d42c4baestevel memory_bank_t *banks; /* pointer to the banks of this seg */
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid print_us3_memory_line(int portid, int bank_id, uint64_t bank_size,
03831d35f7499c87d51205817c93e9a8d42c4baestevel char *bank_status, uint64_t dimm_size, uint32_t intlv, int seg_id);
03831d35f7499c87d51205817c93e9a8d42c4baestevelvoid print_us3_failed_memory_line(int portid, int bank_id,
03831d35f7499c87d51205817c93e9a8d42c4baestevel#endif /* _SYS_LIBPRTDIAG_H */