11414Scindi /* 21414Scindi * CDDL HEADER START 31414Scindi * 41414Scindi * The contents of this file are subject to the terms of the 51414Scindi * Common Development and Distribution License (the "License"). 61414Scindi * You may not use this file except in compliance with the License. 71414Scindi * 81414Scindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 91414Scindi * or http://www.opensolaris.org/os/licensing. 101414Scindi * See the License for the specific language governing permissions 111414Scindi * and limitations under the License. 121414Scindi * 131414Scindi * When distributing Covered Code, include this CDDL HEADER in each 141414Scindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 151414Scindi * If applicable, add the following below this CDDL HEADER, with the 161414Scindi * fields enclosed by brackets "[]" replaced with your own identifying 171414Scindi * information: Portions Copyright [yyyy] [name of copyright owner] 181414Scindi * 191414Scindi * CDDL HEADER END 201414Scindi */ 211414Scindi 221414Scindi /* 23*9718STarik.Soydan@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 241414Scindi * Use is subject to license terms. 251414Scindi */ 261414Scindi 271414Scindi #ifndef _PCI_SUN4U_H 281414Scindi #define _PCI_SUN4U_H 291414Scindi 301426Scindi #include <pcibus_labels.h> 311414Scindi 321414Scindi #ifdef __cplusplus 331414Scindi extern "C" { 341414Scindi #endif 351414Scindi 36*9718STarik.Soydan@Sun.COM #define XMITS_COMPAT "pci108e,8002" /* compatible property for XMits */ 37*9718STarik.Soydan@Sun.COM 38*9718STarik.Soydan@Sun.COM /* 39*9718STarik.Soydan@Sun.COM * Functions for platforms that need a label lookup 40*9718STarik.Soydan@Sun.COM * test in addition to the standard ones provided. 41*9718STarik.Soydan@Sun.COM */ 42*9718STarik.Soydan@Sun.COM extern int sunfire_test_func(topo_mod_t *, did_t *); 43*9718STarik.Soydan@Sun.COM 44*9718STarik.Soydan@Sun.COM /* 45*9718STarik.Soydan@Sun.COM * Data for label lookup based on existing slot label. 46*9718STarik.Soydan@Sun.COM * 47*9718STarik.Soydan@Sun.COM * Platforms may need entries here if the slot labels 48*9718STarik.Soydan@Sun.COM * provided by firmware are incorrect. 49*9718STarik.Soydan@Sun.COM */ 50*9718STarik.Soydan@Sun.COM 511414Scindi slot_rwd_t v240_rewrites[] = { 52*9718STarik.Soydan@Sun.COM /* from OBP, should be, test func */ 53*9718STarik.Soydan@Sun.COM { "PCI3", "PCI0", NULL }, 54*9718STarik.Soydan@Sun.COM { "PCI1", "PCI2", NULL }, 55*9718STarik.Soydan@Sun.COM { "PCI2", "PCI1", NULL } 56*9718STarik.Soydan@Sun.COM }; 57*9718STarik.Soydan@Sun.COM 58*9718STarik.Soydan@Sun.COM slot_rwd_t sunfire_rewrites[] = { 59*9718STarik.Soydan@Sun.COM { "slot 2", "slot 3", sunfire_test_func }, 60*9718STarik.Soydan@Sun.COM { "slot 3", "slot 2", sunfire_test_func }, 61*9718STarik.Soydan@Sun.COM { "slot 6", "slot 7", sunfire_test_func }, 62*9718STarik.Soydan@Sun.COM { "slot 7", "slot 6", sunfire_test_func } 631414Scindi }; 641414Scindi 651414Scindi plat_rwd_t plat_rewrites[] = { 66*9718STarik.Soydan@Sun.COM { "Sun-Fire-V240", 671414Scindi sizeof (v240_rewrites) / sizeof (slot_rwd_t), 68*9718STarik.Soydan@Sun.COM v240_rewrites }, 69*9718STarik.Soydan@Sun.COM { "Sun-Fire", 70*9718STarik.Soydan@Sun.COM sizeof (sunfire_rewrites) / sizeof (slot_rwd_t), 71*9718STarik.Soydan@Sun.COM sunfire_rewrites } 721414Scindi }; 731414Scindi 741414Scindi slotnm_rewrite_t SlotRWs = { 75*9718STarik.Soydan@Sun.COM sizeof (plat_rewrites) / sizeof (plat_rwd_t), 761414Scindi plat_rewrites 771414Scindi }; 781414Scindi 791414Scindi slotnm_rewrite_t *Slot_Rewrites = &SlotRWs; 801414Scindi physlot_names_t *Physlot_Names = NULL; 811414Scindi missing_names_t *Missing_Names = NULL; 821414Scindi 831414Scindi #ifdef __cplusplus 841414Scindi } 851414Scindi #endif 861414Scindi 871414Scindi #endif /* _PCI_SUN4U_H */ 88