1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22/* 23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27#ifndef _HOSTBRIDGE_H 28#define _HOSTBRIDGE_H 29 30#include <libdevinfo.h> 31 32#ifdef __cplusplus 33extern "C" { 34#endif 35 36#define HB_ENUMR_VERS 1 37 38#define MAX_HBS 255 39 40/* 41 * Solaris Drivers for hostbridge ASICs. 42 */ 43#define SCHIZO "pcisch" 44#define PSYCHO "pcipsy" 45#define NPE "npe" 46#define PCIEB "pcieb" 47#define PCI_PCI "pci_pci" 48#define PCI "pci" 49#define PX "px" 50 51/* 52 * These #defines are special values of bus and root complex instance 53 * numbers, used in calls to did_create(). They're here because it's 54 * the hostbridge enumerator that generally establishes the did_t values 55 * at the top level. 56 */ 57#define TRUST_BDF (-1) /* Believe the bus value in the reg property */ 58#define NO_RC (-2) /* Not a pci-express bus, so no root complex */ 59 60/* 61 * PCI-express bridges to PCI, root complex instance is set to 62 * (instance of the PCI-express side root complex - TO_PCI) 63 */ 64#define TO_PCI (1000) 65 66extern tnode_t *pcihostbridge_declare(topo_mod_t *, tnode_t *, di_node_t, 67 topo_instance_t); 68extern tnode_t *pciexhostbridge_declare(topo_mod_t *, tnode_t *, di_node_t, 69 topo_instance_t); 70extern tnode_t *pciexrc_declare(topo_mod_t *, tnode_t *, di_node_t, 71 topo_instance_t); 72 73#ifdef __cplusplus 74} 75#endif 76 77#endif /* _HOSTBRIDGE_H */ 78