|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1998-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: * Copyright (c) 1998 Apple Computer, Inc. All rights reserved. ! 24: * ! 25: * HISTORY ! 26: * ! 27: */ ! 28: ! 29: ! 30: #ifndef _IOKIT_APPLEI386PCI_H ! 31: #define _IOKIT_APPLEI386PCI_H ! 32: ! 33: #include <IOKit/pci/IOPCIBridge.h> ! 34: ! 35: class AppleI386PCI : public IOPCIBridge ! 36: { ! 37: OSDeclareDefaultStructors(AppleI386PCI) ! 38: ! 39: IODeviceMemory * ioMemory; ! 40: ! 41: UInt8 maxBusNum; /* Highest valid Bus Number */ ! 42: UInt8 maxDevNum; /* Highest valid Device Number */ ! 43: bool BIOS16Present; /* booter found PCI BIOS 16 */ ! 44: bool configMethod1; /* host bridge supports CM1 */ ! 45: bool configMethod2; /* host bridge supports CM2 */ ! 46: bool specialCycle1; /* host bridge supports SC1 */ ! 47: bool specialCycle2; /* host bridge supports SC2 */ ! 48: bool BIOS32Present; /* init found PCI BIOS 32 */ ! 49: void *BIOS32Entry; /* Points to 32 bit PCI entry pt */ ! 50: int majorVersion; /* Packed BCD Major Rev#: 0x02 */ ! 51: int minorVersion; /* Packed BCD Minor Rev#: 0x00 */ ! 52: ! 53: private: ! 54: virtual UInt32 configRead32Method1( IOPCIAddressSpace space, ! 55: UInt8 offset ); ! 56: virtual void configWrite32Method1( IOPCIAddressSpace space, ! 57: UInt8 offset, UInt32 data ); ! 58: virtual UInt32 configRead32Method2( IOPCIAddressSpace space, ! 59: UInt8 offset ); ! 60: virtual void configWrite32Method2( IOPCIAddressSpace space, ! 61: UInt8 offset, UInt32 data ); ! 62: ! 63: virtual IOPCIAddressSpace getBridgeSpace( void ); ! 64: ! 65: protected: ! 66: virtual UInt8 firstBusNum( void ); ! 67: virtual UInt8 lastBusNum( void ); ! 68: ! 69: public: ! 70: virtual bool start( IOService * provider ); ! 71: virtual bool configure( IOService * provider ); ! 72: ! 73: virtual void free(); ! 74: virtual IODeviceMemory * ioDeviceMemory( void ); ! 75: ! 76: virtual UInt32 configRead32( IOPCIAddressSpace space, UInt8 offset ); ! 77: ! 78: virtual void configWrite32( IOPCIAddressSpace space, ! 79: UInt8 offset, UInt32 data ); ! 80: }; ! 81: ! 82: #endif /* ! _IOKIT_APPLEI386PCI_H */ ! 83:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.