Annotation of XNU/bsd/dev/i386/pci_device.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  * @OSF_FREE_COPYRIGHT@
                     24:  * 
                     25:  */
                     26: /*
                     27:  * HISTORY
                     28:  * 
                     29:  * Revision 1.2  1998/09/30 21:20:44  wsanchez
                     30:  * Merged in IntelMerge1 (mburg: Intel support)
                     31:  *
                     32:  * Revision 1.1.2.1  1998/09/30 18:18:50  mburg
                     33:  * Changes for Intel port
                     34:  *
                     35:  * Revision 1.1.1.1  1998/03/07 02:25:45  wsanchez
                     36:  * Import of OSF Mach kernel (~mburg)
                     37:  *
                     38:  * Revision 1.1.6.2  1995/12/15  10:52:14  bernadat
                     39:  *     Split dev and vendor ids.
                     40:  *     [95/11/15            bernadat]
                     41:  *
                     42:  * Revision 1.1.6.1  1995/02/23  17:22:27  alanl
                     43:  *     Taken from DIPC2_SHARED
                     44:  *     [1995/01/03  19:09:31  alanl]
                     45:  * 
                     46:  * Revision 1.1.2.1  1994/10/11  18:24:42  rwd
                     47:  *     Created.
                     48:  *     [1994/10/11  18:15:31  rwd]
                     49:  * 
                     50:  * $EndLog$
                     51:  */
                     52: /*
                     53:  * Taken from
                     54:  *
                     55:  *  Copyright (c) 1994 Wolfgang Stanglmeier, Koeln, Germany
                     56:  *                     <[email protected]>
                     57:  */
                     58: 
                     59: #ifndef __PCI_DEVICE_H__
                     60: #define __PCI_DEVICE_H__
                     61: 
                     62: /*------------------------------------------------------------
                     63:  *
                     64:  *  Per driver structure.
                     65:  *
                     66:  *------------------------------------------------------------
                     67: */
                     68: 
                     69: typedef unsigned short pci_vendor_id_t;
                     70: typedef unsigned short pci_dev_id_t;
                     71: 
                     72: typedef union {
                     73:         unsigned long cfg1;
                     74:         struct {
                     75:                  unsigned char   enable;
                     76:                  unsigned char   forward;
                     77:                  unsigned short  port;
                     78:                } cfg2;
                     79:         } pcici_t;
                     80: 
                     81: struct pci_driver {
                     82:     int                (*probe )(pcici_t pci_ident);   /* test whether device
                     83:                                                           is present */
                     84:     int                (*attach)(pcici_t pci_ident);   /* setup driver for a
                     85:                                                           device */
                     86:     pci_vendor_id_t    vendor_id;                      /* vendor pci id */
                     87:     pci_dev_id_t       device_id;                      /* device pci id */
                     88:     char               *name;                          /* device name */
                     89:     char               *vendor;                        /* device long name */
                     90:     void               (*intr)(int);                   /* interupt handler */
                     91: };
                     92: 
                     93: /*-----------------------------------------------------------
                     94:  *
                     95:  *  Per device structure.
                     96:  *
                     97:  *  It is initialized by the config utility and should live in
                     98:  *  "ioconf.c". At the moment there is only one field.
                     99:  *
                    100:  *  This is a first attempt to include the pci bus to 386bsd.
                    101:  *  So this structure may grow ..
                    102:  *
                    103:  *-----------------------------------------------------------
                    104: */
                    105: 
                    106: struct pci_device {
                    107:        struct pci_driver * pd_driver;
                    108: };
                    109: 
                    110: /*-----------------------------------------------------------
                    111:  *
                    112:  *  This functions may be used by drivers to map devices
                    113:  *  to virtual and physical addresses. The va and pa
                    114:  *  addresses are "in/out" parameters. If they are 0
                    115:  *  on entry, the mapping function assigns an address.
                    116:  *
                    117:  *-----------------------------------------------------------
                    118: */
                    119: 
                    120: int pci_map_mem(pcici_t tag,
                    121:                unsigned long entry,
                    122:                vm_offset_t *va,
                    123:                vm_offset_t *pa);
                    124: #endif /*__PCI_DEVICE_H__*/

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.