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, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 /* 28 * pcihrt.h -- PCI Hot-Plug Resource Table 29 */ 30 31 #ifndef _PCIHRT_H 32 #define _PCIHRT_H 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 struct hrt_hdr { /* PCI Hot-Plug Configuration Resource Table header */ 39 uint32_t hrt_sig; /* $HRT */ 40 uint16_t hrt_avail_imap; /* Bitmap of unused IRQs */ 41 uint16_t hrt_used_imap; /* Bitmap of IRQs used by PCI */ 42 uchar_t hrt_entry_cnt; /* no. of PCI hot-plug slot entries */ 43 uchar_t hrt_ver; /* version no. = 1 */ 44 uchar_t hrt_resv0; /* reserved */ 45 uchar_t hrt_resv1; /* reserved */ 46 uchar_t hrt_resv2; /* reserved */ 47 uchar_t hrt_resv3; /* reserved */ 48 uchar_t hrt_resv4; /* reserved */ 49 uchar_t hrt_resv5; /* reserved */ 50 }; 51 52 struct php_entry { /* PCI hot-plug slot entry */ 53 uchar_t php_devno; /* PCI dev/func no. of the slot */ 54 uchar_t php_pri_bus; /* Primary bus of this slot */ 55 uchar_t php_sec_bus; /* Secondary bus of this slot */ 56 uchar_t php_subord_bus; /* Max Subordinate bus of this slot */ 57 uint16_t php_io_start; /* allocated I/O space starting addr */ 58 uint16_t php_io_size; /* allocated I/O space size in bytes */ 59 uint16_t php_mem_start; /* allocated Memory space start addr */ 60 uint16_t php_mem_size; /* allocated Memory space size in 64k */ 61 uint16_t php_pfmem_start; /* allocated Prefetchable Memory start */ 62 uint16_t php_pfmem_size; /* allocated Prefetchable size in 64k */ 63 }; 64 65 #ifdef __cplusplus 66 } 67 #endif 68 69 #endif /* _PCIHRT_H */ 70