pcireg.h File Reference

#include <libc.h>

Go to the source code of this file.

Defines

#define PCI_ID_REG   0x00
#define PCI_VENDOR_SHIFT   0
#define PCI_VENDOR_MASK   0xffff
#define PCI_VENDOR(pci_id_reg)   (((pci_id_reg) >> PCI_VENDOR_SHIFT) & PCI_VENDOR_MASK)
#define PCI_PRODUCT_SHIFT   16
#define PCI_PRODUCT_MASK   0xffff
#define PCI_PRODUCT(pci_id_reg)   (((pci_id_reg) >> PCI_PRODUCT_SHIFT) & PCI_PRODUCT_MASK)
#define PCI_COMMAND_STATUS_REG   0x04
#define PCI_COMMAND_SHIFT   0
#define PCI_COMMAND_MASK   0xffff
#define PCI_STATUS_SHIFT   16
#define PCI_STATUS_MASK   0xffff
#define PCI_COMMAND_STATUS_CODE(command, status)
#define PCI_COMMAND_IO_ENABLE   0x00000001
#define PCI_COMMAND_MEM_ENABLE   0x00000002
#define PCI_COMMAND_MASTER_ENABLE   0x00000004
#define PCI_COMMAND_SPECIAL_ENABLE   0x00000008
#define PCI_COMMAND_INVALIDATE_ENABLE   0x00000010
#define PCI_COMMAND_PALETTE_ENABLE   0x00000020
#define PCI_COMMAND_PARITY_ENABLE   0x00000040
#define PCI_COMMAND_STEPPING_ENABLE   0x00000080
#define PCI_COMMAND_SERR_ENABLE   0x00000100
#define PCI_COMMAND_BACKTOBACK_ENABLE   0x00000200
#define PCI_STATUS_CAPLIST_SUPPORT   0x00100000
#define PCI_STATUS_66MHZ_SUPPORT   0x00200000
#define PCI_STATUS_UDF_SUPPORT   0x00400000
#define PCI_STATUS_BACKTOBACK_SUPPORT   0x00800000
#define PCI_STATUS_PARITY_ERROR   0x01000000
#define PCI_STATUS_DEVSEL_FAST   0x00000000
#define PCI_STATUS_DEVSEL_MEDIUM   0x02000000
#define PCI_STATUS_DEVSEL_SLOW   0x04000000
#define PCI_STATUS_DEVSEL_MASK   0x06000000
#define PCI_STATUS_TARGET_TARGET_ABORT   0x08000000
#define PCI_STATUS_MASTER_TARGET_ABORT   0x10000000
#define PCI_STATUS_MASTER_ABORT   0x20000000
#define PCI_STATUS_SPECIAL_ERROR   0x40000000
#define PCI_STATUS_PARITY_DETECT   0x80000000
#define PCI_CLASS_REG   0x08
#define PCI_CLASS_SHIFT   24
#define PCI_CLASS_MASK   0xff
#define PCI_CLASS(pci_class_reg)   (((pci_class_reg) >> PCI_CLASS_SHIFT) & PCI_CLASS_MASK)
#define PCI_SUBCLASS_SHIFT   16
#define PCI_SUBCLASS_MASK   0xff
#define PCI_SUBCLASS(pci_class_reg)   (((pci_class_reg) >> PCI_SUBCLASS_SHIFT) & PCI_SUBCLASS_MASK)
#define PCI_INTERFACE_SHIFT   8
#define PCI_INTERFACE_MASK   0xff
#define PCI_INTERFACE(pci_class_reg)   (((pci_class_reg) >> PCI_INTERFACE_SHIFT) & PCI_INTERFACE_MASK)
#define PCI_REVISION_SHIFT   0
#define PCI_REVISION_MASK   0xff
#define PCI_REVISION(pci_class_reg)   (((pci_class_reg) >> PCI_REVISION_SHIFT) & PCI_REVISION_MASK)
#define PCI_CLASS_PREHISTORIC   0x00
#define PCI_CLASS_MASS_STORAGE   0x01
#define PCI_CLASS_NETWORK   0x02
#define PCI_CLASS_DISPLAY   0x03
#define PCI_CLASS_MULTIMEDIA   0x04
#define PCI_CLASS_MEMORY   0x05
#define PCI_CLASS_BRIDGE   0x06
#define PCI_CLASS_COMMUNICATIONS   0x07
#define PCI_CLASS_SYSTEM   0x08
#define PCI_CLASS_INPUT   0x09
#define PCI_CLASS_DOCK   0x0a
#define PCI_CLASS_PROCESSOR   0x0b
#define PCI_CLASS_SERIALBUS   0x0c
#define PCI_CLASS_WIRELESS   0x0d
#define PCI_CLASS_I2O   0x0e
#define PCI_CLASS_SATCOM   0x0f
#define PCI_CLASS_CRYPTO   0x10
#define PCI_CLASS_DASP   0x11
#define PCI_CLASS_UNDEFINED   0xff
#define PCI_SUBCLASS_PREHISTORIC_MISC   0x00
#define PCI_SUBCLASS_PREHISTORIC_VGA   0x01
#define PCI_SUBCLASS_MASS_STORAGE_SCSI   0x00
#define PCI_SUBCLASS_MASS_STORAGE_IDE   0x01
#define PCI_SUBCLASS_MASS_STORAGE_FLOPPY   0x02
#define PCI_SUBCLASS_MASS_STORAGE_IPI   0x03
#define PCI_SUBCLASS_MASS_STORAGE_RAID   0x04
#define PCI_SUBCLASS_MASS_STORAGE_ATA   0x05
#define PCI_SUBCLASS_MASS_STORAGE_SATA   0x06
#define PCI_SUBCLASS_MASS_STORAGE_MISC   0x80
#define PCI_SUBCLASS_NETWORK_ETHERNET   0x00
#define PCI_SUBCLASS_NETWORK_TOKENRING   0x01
#define PCI_SUBCLASS_NETWORK_FDDI   0x02
#define PCI_SUBCLASS_NETWORK_ATM   0x03
#define PCI_SUBCLASS_NETWORK_ISDN   0x04
#define PCI_SUBCLASS_NETWORK_WORLDFIP   0x05
#define PCI_SUBCLASS_NETWORK_PCIMGMULTICOMP   0x06
#define PCI_SUBCLASS_NETWORK_MISC   0x80
#define PCI_SUBCLASS_DISPLAY_VGA   0x00
#define PCI_SUBCLASS_DISPLAY_XGA   0x01
#define PCI_SUBCLASS_DISPLAY_3D   0x02
#define PCI_SUBCLASS_DISPLAY_MISC   0x80
#define PCI_SUBCLASS_MULTIMEDIA_VIDEO   0x00
#define PCI_SUBCLASS_MULTIMEDIA_AUDIO   0x01
#define PCI_SUBCLASS_MULTIMEDIA_TELEPHONY   0x02
#define PCI_SUBCLASS_MULTIMEDIA_MISC   0x80
#define PCI_SUBCLASS_MEMORY_RAM   0x00
#define PCI_SUBCLASS_MEMORY_FLASH   0x01
#define PCI_SUBCLASS_MEMORY_MISC   0x80
#define PCI_SUBCLASS_BRIDGE_HOST   0x00
#define PCI_SUBCLASS_BRIDGE_ISA   0x01
#define PCI_SUBCLASS_BRIDGE_EISA   0x02
#define PCI_SUBCLASS_BRIDGE_MC   0x03
#define PCI_SUBCLASS_BRIDGE_PCI   0x04
#define PCI_SUBCLASS_BRIDGE_PCMCIA   0x05
#define PCI_SUBCLASS_BRIDGE_NUBUS   0x06
#define PCI_SUBCLASS_BRIDGE_CARDBUS   0x07
#define PCI_SUBCLASS_BRIDGE_RACEWAY   0x08
#define PCI_SUBCLASS_BRIDGE_STPCI   0x09
#define PCI_SUBCLASS_BRIDGE_INFINIBAND   0x0a
#define PCI_SUBCLASS_BRIDGE_MISC   0x80
#define PCI_SUBCLASS_COMMUNICATIONS_SERIAL   0x00
#define PCI_SUBCLASS_COMMUNICATIONS_PARALLEL   0x01
#define PCI_SUBCLASS_COMMUNICATIONS_MPSERIAL   0x02
#define PCI_SUBCLASS_COMMUNICATIONS_MODEM   0x03
#define PCI_SUBCLASS_COMMUNICATIONS_GPIB   0x04
#define PCI_SUBCLASS_COMMUNICATIONS_SMARTCARD   0x05
#define PCI_SUBCLASS_COMMUNICATIONS_MISC   0x80
#define PCI_SUBCLASS_SYSTEM_PIC   0x00
#define PCI_SUBCLASS_SYSTEM_DMA   0x01
#define PCI_SUBCLASS_SYSTEM_TIMER   0x02
#define PCI_SUBCLASS_SYSTEM_RTC   0x03
#define PCI_SUBCLASS_SYSTEM_PCIHOTPLUG   0x04
#define PCI_SUBCLASS_SYSTEM_MISC   0x80
#define PCI_SUBCLASS_INPUT_KEYBOARD   0x00
#define PCI_SUBCLASS_INPUT_DIGITIZER   0x01
#define PCI_SUBCLASS_INPUT_MOUSE   0x02
#define PCI_SUBCLASS_INPUT_SCANNER   0x03
#define PCI_SUBCLASS_INPUT_GAMEPORT   0x04
#define PCI_SUBCLASS_INPUT_MISC   0x80
#define PCI_SUBCLASS_DOCK_GENERIC   0x00
#define PCI_SUBCLASS_DOCK_MISC   0x80
#define PCI_SUBCLASS_PROCESSOR_386   0x00
#define PCI_SUBCLASS_PROCESSOR_486   0x01
#define PCI_SUBCLASS_PROCESSOR_PENTIUM   0x02
#define PCI_SUBCLASS_PROCESSOR_ALPHA   0x10
#define PCI_SUBCLASS_PROCESSOR_POWERPC   0x20
#define PCI_SUBCLASS_PROCESSOR_MIPS   0x30
#define PCI_SUBCLASS_PROCESSOR_COPROC   0x40
#define PCI_SUBCLASS_SERIALBUS_FIREWIRE   0x00
#define PCI_SUBCLASS_SERIALBUS_ACCESS   0x01
#define PCI_SUBCLASS_SERIALBUS_SSA   0x02
#define PCI_SUBCLASS_SERIALBUS_USB   0x03
#define PCI_SUBCLASS_SERIALBUS_FIBER   0x04
#define PCI_SUBCLASS_SERIALBUS_SMBUS   0x05
#define PCI_SUBCLASS_SERIALBUS_INFINIBAND   0x06
#define PCI_SUBCLASS_SERIALBUS_IPMI   0x07
#define PCI_SUBCLASS_SERIALBUS_SERCOS   0x08
#define PCI_SUBCLASS_SERIALBUS_CANBUS   0x09
#define PCI_SUBCLASS_WIRELESS_IRDA   0x00
#define PCI_SUBCLASS_WIRELESS_CONSUMERIR   0x01
#define PCI_SUBCLASS_WIRELESS_RF   0x10
#define PCI_SUBCLASS_WIRELESS_BLUETOOTH   0x11
#define PCI_SUBCLASS_WIRELESS_BROADBAND   0x12
#define PCI_SUBCLASS_WIRELESS_802_11A   0x20
#define PCI_SUBCLASS_WIRELESS_802_11B   0x21
#define PCI_SUBCLASS_WIRELESS_MISC   0x80
#define PCI_SUBCLASS_I2O_STANDARD   0x00
#define PCI_SUBCLASS_SATCOM_TV   0x01
#define PCI_SUBCLASS_SATCOM_AUDIO   0x02
#define PCI_SUBCLASS_SATCOM_VOICE   0x03
#define PCI_SUBCLASS_SATCOM_DATA   0x04
#define PCI_SUBCLASS_CRYPTO_NETCOMP   0x00
#define PCI_SUBCLASS_CRYPTO_ENTERTAINMENT   0x10
#define PCI_SUBCLASS_CRYPTO_MISC   0x80
#define PCI_SUBCLASS_DASP_DPIO   0x00
#define PCI_SUBCLASS_DASP_TIMEFREQ   0x01
#define PCI_SUBCLASS_DASP_SYNC   0x10
#define PCI_SUBCLASS_DASP_MGMT   0x20
#define PCI_SUBCLASS_DASP_MISC   0x80
#define PCI_BHLC_REG   0x0c
#define PCI_BIST_SHIFT   24
#define PCI_BIST_MASK   0xff
#define PCI_BIST(pci_bhlc_reg)   (((pci_bhlc_reg) >> PCI_BIST_SHIFT) & PCI_BIST_MASK)
#define PCI_HDRTYPE_SHIFT   16
#define PCI_HDRTYPE_MASK   0xff
#define PCI_HDRTYPE(pci_bhlc_reg)   (((pci_bhlc_reg) >> PCI_HDRTYPE_SHIFT) & PCI_HDRTYPE_MASK)
#define PCI_HDRTYPE_TYPE(pci_bhlc_reg)   (PCI_HDRTYPE(pci_bhlc_reg) & 0x7f)
#define PCI_HDRTYPE_MULTIFN(pci_bhlc_reg)   ((PCI_HDRTYPE(pci_bhlc_reg) & 0x80) != 0)
#define PCI_LATTIMER_SHIFT   8
#define PCI_LATTIMER_MASK   0xff
#define PCI_LATTIMER(pci_bhlc_reg)   (((pci_bhlc_reg) >> PCI_LATTIMER_SHIFT) & PCI_LATTIMER_MASK)
#define PCI_CACHELINE_SHIFT   0
#define PCI_CACHELINE_MASK   0xff
#define PCI_CACHELINE(pci_bhlc_reg)   (((pci_bhlc_reg) >> PCI_CACHELINE_SHIFT) & PCI_CACHELINE_MASK)
#define PCI_BHLC_CODE(bist, type, multi, latency, cacheline)
#define PCI_HDRTYPE_DEVICE   0
#define PCI_HDRTYPE_PPB   1
#define PCI_HDRTYPE_PCB   2
#define PCI_MAPREG_START   0x10
#define PCI_MAPREG_END   0x28
#define PCI_MAPREG_ROM   0x30
#define PCI_MAPREG_PPB_END   0x18
#define PCI_MAPREG_PCB_END   0x14
#define PCI_MAPREG_TYPE_MASK   0x00000001
#define PCI_MAPREG_TYPE(pci_map_reg)   ((pci_map_reg) & PCI_MAPREG_TYPE_MASK)
#define PCI_MAPREG_TYPE_MEM   0x00000000
#define PCI_MAPREG_TYPE_IO   0x00000001
#define PCI_MAPREG_ROM_ENABLE   0x00000001
#define PCI_MAPREG_MEM_TYPE_MASK   0x00000006
#define PCI_MAPREG_MEM_TYPE(pci_map_reg)   ((pci_map_reg) & PCI_MAPREG_MEM_TYPE_MASK)
#define PCI_MAPREG_MEM_TYPE_32BIT   0x00000000
#define PCI_MAPREG_MEM_TYPE_32BIT_1M   0x00000002
#define PCI_MAPREG_MEM_TYPE_64BIT   0x00000004
#define PCI_MAPREG_MEM_PREFETCHABLE_MASK   0x00000008
#define PCI_MAPREG_MEM_PREFETCHABLE(pci_map_reg)   (((pci_map_reg) & PCI_MAPREG_MEM_PREFETCHABLE_MASK) != 0)
#define PCI_MAPREG_MEM_ADDR(pci_map_reg)   ((pci_map_reg) & PCI_MAPREG_MEM_ADDR_MASK)
#define PCI_MAPREG_MEM_SIZE(pci_map_reg)   (PCI_MAPREG_MEM_ADDR(pci_map_reg) & -PCI_MAPREG_MEM_ADDR(pci_map_reg))
#define PCI_MAPREG_MEM_ADDR_MASK   0xfffffff0
#define PCI_MAPREG_MEM64_ADDR(pci_map_reg)   ((pci_map_reg) & PCI_MAPREG_MEM64_ADDR_MASK)
#define PCI_MAPREG_MEM64_SIZE(pci_map_reg)   (PCI_MAPREG_MEM64_ADDR(pci_map_reg) & -PCI_MAPREG_MEM64_ADDR(pci_map_reg))
#define PCI_MAPREG_MEM64_ADDR_MASK   0xfffffffffffffff0ULL
#define PCI_MAPREG_IO_ADDR(pci_map_reg)   ((pci_map_reg) & PCI_MAPREG_IO_ADDR_MASK)
#define PCI_MAPREG_IO_SIZE(pci_map_reg)   (PCI_MAPREG_IO_ADDR(pci_map_reg) & -PCI_MAPREG_IO_ADDR(pci_map_reg))
#define PCI_MAPREG_IO_ADDR_MASK   0xfffffffc
#define PCI_MAPREG_SIZE_TO_MASK(size)   (-(size))
#define PCI_MAPREG_NUM(offset)   (((unsigned)(offset)-PCI_MAPREG_START)/4)
#define PCI_CARDBUS_CIS_REG   0x28
#define PCI_SUBSYS_ID_REG   0x2c
#define PCI_INTERRUPT_REG   0x3c
#define PCI_MAX_LAT_SHIFT   24
#define PCI_MAX_LAT_MASK   0xff
#define PCI_MAX_LAT(icr)   (((icr) >> PCI_MAX_LAT_SHIFT) & PCI_MAX_LAT_MASK)
#define PCI_MIN_GNT_SHIFT   16
#define PCI_MIN_GNT_MASK   0xff
#define PCI_MIN_GNT(icr)   (((icr) >> PCI_MIN_GNT_SHIFT) & PCI_MIN_GNT_MASK)
#define PCI_INTERRUPT_GRANT_SHIFT   24
#define PCI_INTERRUPT_GRANT_MASK   0xff
#define PCI_INTERRUPT_GRANT(icr)   (((icr) >> PCI_INTERRUPT_GRANT_SHIFT) & PCI_INTERRUPT_GRANT_MASK)
#define PCI_INTERRUPT_LATENCY_SHIFT   16
#define PCI_INTERRUPT_LATENCY_MASK   0xff
#define PCI_INTERRUPT_LATENCY(icr)   (((icr) >> PCI_INTERRUPT_LATENCY_SHIFT) & PCI_INTERRUPT_LATENCY_MASK)
#define PCI_INTERRUPT_PIN_SHIFT   8
#define PCI_INTERRUPT_PIN_MASK   0xff
#define PCI_INTERRUPT_PIN(icr)   (((icr) >> PCI_INTERRUPT_PIN_SHIFT) & PCI_INTERRUPT_PIN_MASK)
#define PCI_INTERRUPT_LINE_SHIFT   0
#define PCI_INTERRUPT_LINE_MASK   0xff
#define PCI_INTERRUPT_LINE(icr)   (((icr) >> PCI_INTERRUPT_LINE_SHIFT) & PCI_INTERRUPT_LINE_MASK)
#define PCI_INTERRUPT_CODE(lat, gnt, pin, line)
#define PCI_INTERRUPT_PIN_NONE   0x00
#define PCI_INTERRUPT_PIN_A   0x01
#define PCI_INTERRUPT_PIN_B   0x02
#define PCI_INTERRUPT_PIN_C   0x03
#define PCI_INTERRUPT_PIN_D   0x04
#define PCI_INTERRUPT_PIN_MAX   0x04

Typedefs

typedef u_int32_t pci_reg_t
typedef u_int16_t pci_vendor_t
typedef u_int16_t pci_product_t
typedef u_int8_t pci_class_t
typedef u_int8_t pci_subclass_t
typedef u_int8_t pci_interface_t
typedef u_int8_t pci_revision_t
typedef u_int8_t pci_intr_latency_t
typedef u_int8_t pci_intr_grant_t
typedef u_int8_t pci_intr_pin_t
typedef u_int8_t pci_intr_line_t


Define Documentation

#define PCI_BHLC_CODE bist,
type,
multi,
latency,
cacheline   ) 
 

Value:

((((bist) & PCI_BIST_MASK) << PCI_BIST_SHIFT) |         \
             (((type) & PCI_HDRTYPE_MASK) << PCI_HDRTYPE_SHIFT) |       \
             (((multi)?0x80:0) << PCI_HDRTYPE_SHIFT) |                  \
             (((latency) & PCI_LATTIMER_MASK) << PCI_LATTIMER_SHIFT) |  \
             (((cacheline) & PCI_CACHELINE_MASK) << PCI_CACHELINE_SHIFT))

#define PCI_BHLC_REG   0x0c
 

#define PCI_BIST pci_bhlc_reg   )     (((pci_bhlc_reg) >> PCI_BIST_SHIFT) & PCI_BIST_MASK)
 

#define PCI_BIST_MASK   0xff
 

#define PCI_BIST_SHIFT   24
 

#define PCI_CACHELINE pci_bhlc_reg   )     (((pci_bhlc_reg) >> PCI_CACHELINE_SHIFT) & PCI_CACHELINE_MASK)
 

#define PCI_CACHELINE_MASK   0xff
 

#define PCI_CACHELINE_SHIFT   0
 

#define PCI_CARDBUS_CIS_REG   0x28
 

#define PCI_CLASS pci_class_reg   )     (((pci_class_reg) >> PCI_CLASS_SHIFT) & PCI_CLASS_MASK)
 

#define PCI_CLASS_BRIDGE   0x06
 

#define PCI_CLASS_COMMUNICATIONS   0x07
 

#define PCI_CLASS_CRYPTO   0x10
 

#define PCI_CLASS_DASP   0x11
 

#define PCI_CLASS_DISPLAY   0x03
 

#define PCI_CLASS_DOCK   0x0a
 

#define PCI_CLASS_I2O   0x0e
 

#define PCI_CLASS_INPUT   0x09
 

#define PCI_CLASS_MASK   0xff
 

#define PCI_CLASS_MASS_STORAGE   0x01
 

#define PCI_CLASS_MEMORY   0x05
 

#define PCI_CLASS_MULTIMEDIA   0x04
 

#define PCI_CLASS_NETWORK   0x02
 

#define PCI_CLASS_PREHISTORIC   0x00
 

#define PCI_CLASS_PROCESSOR   0x0b
 

#define PCI_CLASS_REG   0x08
 

#define PCI_CLASS_SATCOM   0x0f
 

#define PCI_CLASS_SERIALBUS   0x0c
 

#define PCI_CLASS_SHIFT   24
 

#define PCI_CLASS_SYSTEM   0x08
 

#define PCI_CLASS_UNDEFINED   0xff
 

#define PCI_CLASS_WIRELESS   0x0d
 

#define PCI_COMMAND_BACKTOBACK_ENABLE   0x00000200
 

#define PCI_COMMAND_INVALIDATE_ENABLE   0x00000010
 

#define PCI_COMMAND_IO_ENABLE   0x00000001
 

#define PCI_COMMAND_MASK   0xffff
 

#define PCI_COMMAND_MASTER_ENABLE   0x00000004
 

#define PCI_COMMAND_MEM_ENABLE   0x00000002
 

#define PCI_COMMAND_PALETTE_ENABLE   0x00000020
 

#define PCI_COMMAND_PARITY_ENABLE   0x00000040
 

#define PCI_COMMAND_SERR_ENABLE   0x00000100
 

#define PCI_COMMAND_SHIFT   0
 

#define PCI_COMMAND_SPECIAL_ENABLE   0x00000008
 

#define PCI_COMMAND_STATUS_CODE command,
status   ) 
 

Value:

#define PCI_COMMAND_STATUS_REG   0x04
 

#define PCI_COMMAND_STEPPING_ENABLE   0x00000080
 

#define PCI_HDRTYPE pci_bhlc_reg   )     (((pci_bhlc_reg) >> PCI_HDRTYPE_SHIFT) & PCI_HDRTYPE_MASK)
 

#define PCI_HDRTYPE_DEVICE   0
 

#define PCI_HDRTYPE_MASK   0xff
 

#define PCI_HDRTYPE_MULTIFN pci_bhlc_reg   )     ((PCI_HDRTYPE(pci_bhlc_reg) & 0x80) != 0)
 

#define PCI_HDRTYPE_PCB   2
 

#define PCI_HDRTYPE_PPB   1
 

#define PCI_HDRTYPE_SHIFT   16
 

#define PCI_HDRTYPE_TYPE pci_bhlc_reg   )     (PCI_HDRTYPE(pci_bhlc_reg) & 0x7f)
 

#define PCI_ID_REG   0x00
 

#define PCI_INTERFACE pci_class_reg   )     (((pci_class_reg) >> PCI_INTERFACE_SHIFT) & PCI_INTERFACE_MASK)
 

#define PCI_INTERFACE_MASK   0xff
 

#define PCI_INTERFACE_SHIFT   8
 

#define PCI_INTERRUPT_CODE lat,
gnt,
pin,
line   ) 
 

Value:

#define PCI_INTERRUPT_GRANT icr   )     (((icr) >> PCI_INTERRUPT_GRANT_SHIFT) & PCI_INTERRUPT_GRANT_MASK)
 

#define PCI_INTERRUPT_GRANT_MASK   0xff
 

#define PCI_INTERRUPT_GRANT_SHIFT   24
 

#define PCI_INTERRUPT_LATENCY icr   )     (((icr) >> PCI_INTERRUPT_LATENCY_SHIFT) & PCI_INTERRUPT_LATENCY_MASK)
 

#define PCI_INTERRUPT_LATENCY_MASK   0xff
 

#define PCI_INTERRUPT_LATENCY_SHIFT   16
 

#define PCI_INTERRUPT_LINE icr   )     (((icr) >> PCI_INTERRUPT_LINE_SHIFT) & PCI_INTERRUPT_LINE_MASK)
 

#define PCI_INTERRUPT_LINE_MASK   0xff
 

#define PCI_INTERRUPT_LINE_SHIFT   0
 

#define PCI_INTERRUPT_PIN icr   )     (((icr) >> PCI_INTERRUPT_PIN_SHIFT) & PCI_INTERRUPT_PIN_MASK)
 

#define PCI_INTERRUPT_PIN_A   0x01
 

#define PCI_INTERRUPT_PIN_B   0x02
 

#define PCI_INTERRUPT_PIN_C   0x03
 

#define PCI_INTERRUPT_PIN_D   0x04
 

#define PCI_INTERRUPT_PIN_MASK   0xff
 

#define PCI_INTERRUPT_PIN_MAX   0x04
 

#define PCI_INTERRUPT_PIN_NONE   0x00
 

#define PCI_INTERRUPT_PIN_SHIFT   8
 

#define PCI_INTERRUPT_REG   0x3c
 

#define PCI_LATTIMER pci_bhlc_reg   )     (((pci_bhlc_reg) >> PCI_LATTIMER_SHIFT) & PCI_LATTIMER_MASK)
 

#define PCI_LATTIMER_MASK   0xff
 

#define PCI_LATTIMER_SHIFT   8
 

#define PCI_MAPREG_END   0x28
 

#define PCI_MAPREG_IO_ADDR pci_map_reg   )     ((pci_map_reg) & PCI_MAPREG_IO_ADDR_MASK)
 

#define PCI_MAPREG_IO_ADDR_MASK   0xfffffffc
 

#define PCI_MAPREG_IO_SIZE pci_map_reg   )     (PCI_MAPREG_IO_ADDR(pci_map_reg) & -PCI_MAPREG_IO_ADDR(pci_map_reg))
 

#define PCI_MAPREG_MEM64_ADDR pci_map_reg   )     ((pci_map_reg) & PCI_MAPREG_MEM64_ADDR_MASK)
 

#define PCI_MAPREG_MEM64_ADDR_MASK   0xfffffffffffffff0ULL
 

#define PCI_MAPREG_MEM64_SIZE pci_map_reg   )     (PCI_MAPREG_MEM64_ADDR(pci_map_reg) & -PCI_MAPREG_MEM64_ADDR(pci_map_reg))
 

#define PCI_MAPREG_MEM_ADDR pci_map_reg   )     ((pci_map_reg) & PCI_MAPREG_MEM_ADDR_MASK)
 

#define PCI_MAPREG_MEM_ADDR_MASK   0xfffffff0
 

#define PCI_MAPREG_MEM_PREFETCHABLE pci_map_reg   )     (((pci_map_reg) & PCI_MAPREG_MEM_PREFETCHABLE_MASK) != 0)
 

#define PCI_MAPREG_MEM_PREFETCHABLE_MASK   0x00000008
 

#define PCI_MAPREG_MEM_SIZE pci_map_reg   )     (PCI_MAPREG_MEM_ADDR(pci_map_reg) & -PCI_MAPREG_MEM_ADDR(pci_map_reg))
 

#define PCI_MAPREG_MEM_TYPE pci_map_reg   )     ((pci_map_reg) & PCI_MAPREG_MEM_TYPE_MASK)
 

#define PCI_MAPREG_MEM_TYPE_32BIT   0x00000000
 

#define PCI_MAPREG_MEM_TYPE_32BIT_1M   0x00000002
 

#define PCI_MAPREG_MEM_TYPE_64BIT   0x00000004
 

#define PCI_MAPREG_MEM_TYPE_MASK   0x00000006
 

#define PCI_MAPREG_NUM offset   )     (((unsigned)(offset)-PCI_MAPREG_START)/4)
 

#define PCI_MAPREG_PCB_END   0x14
 

#define PCI_MAPREG_PPB_END   0x18
 

#define PCI_MAPREG_ROM   0x30
 

#define PCI_MAPREG_ROM_ENABLE   0x00000001
 

#define PCI_MAPREG_SIZE_TO_MASK size   )     (-(size))
 

#define PCI_MAPREG_START   0x10
 

#define PCI_MAPREG_TYPE pci_map_reg   )     ((pci_map_reg) & PCI_MAPREG_TYPE_MASK)
 

#define PCI_MAPREG_TYPE_IO   0x00000001
 

#define PCI_MAPREG_TYPE_MASK   0x00000001
 

#define PCI_MAPREG_TYPE_MEM   0x00000000
 

#define PCI_MAX_LAT icr   )     (((icr) >> PCI_MAX_LAT_SHIFT) & PCI_MAX_LAT_MASK)
 

#define PCI_MAX_LAT_MASK   0xff
 

#define PCI_MAX_LAT_SHIFT   24
 

#define PCI_MIN_GNT icr   )     (((icr) >> PCI_MIN_GNT_SHIFT) & PCI_MIN_GNT_MASK)
 

#define PCI_MIN_GNT_MASK   0xff
 

#define PCI_MIN_GNT_SHIFT   16
 

#define PCI_PRODUCT pci_id_reg   )     (((pci_id_reg) >> PCI_PRODUCT_SHIFT) & PCI_PRODUCT_MASK)
 

#define PCI_PRODUCT_MASK   0xffff
 

#define PCI_PRODUCT_SHIFT   16
 

#define PCI_REVISION pci_class_reg   )     (((pci_class_reg) >> PCI_REVISION_SHIFT) & PCI_REVISION_MASK)
 

#define PCI_REVISION_MASK   0xff
 

#define PCI_REVISION_SHIFT   0
 

#define PCI_STATUS_66MHZ_SUPPORT   0x00200000
 

#define PCI_STATUS_BACKTOBACK_SUPPORT   0x00800000
 

#define PCI_STATUS_CAPLIST_SUPPORT   0x00100000
 

#define PCI_STATUS_DEVSEL_FAST   0x00000000
 

#define PCI_STATUS_DEVSEL_MASK   0x06000000
 

#define PCI_STATUS_DEVSEL_MEDIUM   0x02000000
 

#define PCI_STATUS_DEVSEL_SLOW   0x04000000
 

#define PCI_STATUS_MASK   0xffff
 

#define PCI_STATUS_MASTER_ABORT   0x20000000
 

#define PCI_STATUS_MASTER_TARGET_ABORT   0x10000000
 

#define PCI_STATUS_PARITY_DETECT   0x80000000
 

#define PCI_STATUS_PARITY_ERROR   0x01000000
 

#define PCI_STATUS_SHIFT   16
 

#define PCI_STATUS_SPECIAL_ERROR   0x40000000
 

#define PCI_STATUS_TARGET_TARGET_ABORT   0x08000000
 

#define PCI_STATUS_UDF_SUPPORT   0x00400000
 

#define PCI_SUBCLASS pci_class_reg   )     (((pci_class_reg) >> PCI_SUBCLASS_SHIFT) & PCI_SUBCLASS_MASK)
 

#define PCI_SUBCLASS_BRIDGE_CARDBUS   0x07
 

#define PCI_SUBCLASS_BRIDGE_EISA   0x02
 

#define PCI_SUBCLASS_BRIDGE_HOST   0x00
 

#define PCI_SUBCLASS_BRIDGE_INFINIBAND   0x0a
 

#define PCI_SUBCLASS_BRIDGE_ISA   0x01
 

#define PCI_SUBCLASS_BRIDGE_MC   0x03
 

#define PCI_SUBCLASS_BRIDGE_MISC   0x80
 

#define PCI_SUBCLASS_BRIDGE_NUBUS   0x06
 

#define PCI_SUBCLASS_BRIDGE_PCI   0x04
 

#define PCI_SUBCLASS_BRIDGE_PCMCIA   0x05
 

#define PCI_SUBCLASS_BRIDGE_RACEWAY   0x08
 

#define PCI_SUBCLASS_BRIDGE_STPCI   0x09
 

#define PCI_SUBCLASS_COMMUNICATIONS_GPIB   0x04
 

#define PCI_SUBCLASS_COMMUNICATIONS_MISC   0x80
 

#define PCI_SUBCLASS_COMMUNICATIONS_MODEM   0x03
 

#define PCI_SUBCLASS_COMMUNICATIONS_MPSERIAL   0x02
 

#define PCI_SUBCLASS_COMMUNICATIONS_PARALLEL   0x01
 

#define PCI_SUBCLASS_COMMUNICATIONS_SERIAL   0x00
 

#define PCI_SUBCLASS_COMMUNICATIONS_SMARTCARD   0x05
 

#define PCI_SUBCLASS_CRYPTO_ENTERTAINMENT   0x10
 

#define PCI_SUBCLASS_CRYPTO_MISC   0x80
 

#define PCI_SUBCLASS_CRYPTO_NETCOMP   0x00
 

#define PCI_SUBCLASS_DASP_DPIO   0x00
 

#define PCI_SUBCLASS_DASP_MGMT   0x20
 

#define PCI_SUBCLASS_DASP_MISC   0x80
 

#define PCI_SUBCLASS_DASP_SYNC   0x10
 

#define PCI_SUBCLASS_DASP_TIMEFREQ   0x01
 

#define PCI_SUBCLASS_DISPLAY_3D   0x02
 

#define PCI_SUBCLASS_DISPLAY_MISC   0x80
 

#define PCI_SUBCLASS_DISPLAY_VGA   0x00
 

#define PCI_SUBCLASS_DISPLAY_XGA   0x01
 

#define PCI_SUBCLASS_DOCK_GENERIC   0x00
 

#define PCI_SUBCLASS_DOCK_MISC   0x80
 

#define PCI_SUBCLASS_I2O_STANDARD   0x00
 

#define PCI_SUBCLASS_INPUT_DIGITIZER   0x01
 

#define PCI_SUBCLASS_INPUT_GAMEPORT   0x04
 

#define PCI_SUBCLASS_INPUT_KEYBOARD   0x00
 

#define PCI_SUBCLASS_INPUT_MISC   0x80
 

#define PCI_SUBCLASS_INPUT_MOUSE   0x02
 

#define PCI_SUBCLASS_INPUT_SCANNER   0x03
 

#define PCI_SUBCLASS_MASK   0xff
 

#define PCI_SUBCLASS_MASS_STORAGE_ATA   0x05
 

#define PCI_SUBCLASS_MASS_STORAGE_FLOPPY   0x02
 

#define PCI_SUBCLASS_MASS_STORAGE_IDE   0x01
 

#define PCI_SUBCLASS_MASS_STORAGE_IPI   0x03
 

#define PCI_SUBCLASS_MASS_STORAGE_MISC   0x80
 

#define PCI_SUBCLASS_MASS_STORAGE_RAID   0x04
 

#define PCI_SUBCLASS_MASS_STORAGE_SATA   0x06
 

#define PCI_SUBCLASS_MASS_STORAGE_SCSI   0x00
 

#define PCI_SUBCLASS_MEMORY_FLASH   0x01
 

#define PCI_SUBCLASS_MEMORY_MISC   0x80
 

#define PCI_SUBCLASS_MEMORY_RAM   0x00
 

#define PCI_SUBCLASS_MULTIMEDIA_AUDIO   0x01
 

#define PCI_SUBCLASS_MULTIMEDIA_MISC   0x80
 

#define PCI_SUBCLASS_MULTIMEDIA_TELEPHONY   0x02
 

#define PCI_SUBCLASS_MULTIMEDIA_VIDEO   0x00
 

#define PCI_SUBCLASS_NETWORK_ATM   0x03
 

#define PCI_SUBCLASS_NETWORK_ETHERNET   0x00
 

#define PCI_SUBCLASS_NETWORK_FDDI   0x02
 

#define PCI_SUBCLASS_NETWORK_ISDN   0x04
 

#define PCI_SUBCLASS_NETWORK_MISC   0x80
 

#define PCI_SUBCLASS_NETWORK_PCIMGMULTICOMP   0x06
 

#define PCI_SUBCLASS_NETWORK_TOKENRING   0x01
 

#define PCI_SUBCLASS_NETWORK_WORLDFIP   0x05
 

#define PCI_SUBCLASS_PREHISTORIC_MISC   0x00
 

#define PCI_SUBCLASS_PREHISTORIC_VGA   0x01
 

#define PCI_SUBCLASS_PROCESSOR_386   0x00
 

#define PCI_SUBCLASS_PROCESSOR_486   0x01
 

#define PCI_SUBCLASS_PROCESSOR_ALPHA   0x10
 

#define PCI_SUBCLASS_PROCESSOR_COPROC   0x40
 

#define PCI_SUBCLASS_PROCESSOR_MIPS   0x30
 

#define PCI_SUBCLASS_PROCESSOR_PENTIUM   0x02
 

#define PCI_SUBCLASS_PROCESSOR_POWERPC   0x20
 

#define PCI_SUBCLASS_SATCOM_AUDIO   0x02
 

#define PCI_SUBCLASS_SATCOM_DATA   0x04
 

#define PCI_SUBCLASS_SATCOM_TV   0x01
 

#define PCI_SUBCLASS_SATCOM_VOICE   0x03
 

#define PCI_SUBCLASS_SERIALBUS_ACCESS   0x01
 

#define PCI_SUBCLASS_SERIALBUS_CANBUS   0x09
 

#define PCI_SUBCLASS_SERIALBUS_FIBER   0x04
 

#define PCI_SUBCLASS_SERIALBUS_FIREWIRE   0x00
 

#define PCI_SUBCLASS_SERIALBUS_INFINIBAND   0x06
 

#define PCI_SUBCLASS_SERIALBUS_IPMI   0x07
 

#define PCI_SUBCLASS_SERIALBUS_SERCOS   0x08
 

#define PCI_SUBCLASS_SERIALBUS_SMBUS   0x05
 

#define PCI_SUBCLASS_SERIALBUS_SSA   0x02
 

#define PCI_SUBCLASS_SERIALBUS_USB   0x03
 

#define PCI_SUBCLASS_SHIFT   16
 

#define PCI_SUBCLASS_SYSTEM_DMA   0x01
 

#define PCI_SUBCLASS_SYSTEM_MISC   0x80
 

#define PCI_SUBCLASS_SYSTEM_PCIHOTPLUG   0x04
 

#define PCI_SUBCLASS_SYSTEM_PIC   0x00
 

#define PCI_SUBCLASS_SYSTEM_RTC   0x03
 

#define PCI_SUBCLASS_SYSTEM_TIMER   0x02
 

#define PCI_SUBCLASS_WIRELESS_802_11A   0x20
 

#define PCI_SUBCLASS_WIRELESS_802_11B   0x21
 

#define PCI_SUBCLASS_WIRELESS_BLUETOOTH   0x11
 

#define PCI_SUBCLASS_WIRELESS_BROADBAND   0x12
 

#define PCI_SUBCLASS_WIRELESS_CONSUMERIR   0x01
 

#define PCI_SUBCLASS_WIRELESS_IRDA   0x00
 

#define PCI_SUBCLASS_WIRELESS_MISC   0x80
 

#define PCI_SUBCLASS_WIRELESS_RF   0x10
 

#define PCI_SUBSYS_ID_REG   0x2c
 

#define PCI_VENDOR pci_id_reg   )     (((pci_id_reg) >> PCI_VENDOR_SHIFT) & PCI_VENDOR_MASK)
 

#define PCI_VENDOR_MASK   0xffff
 

#define PCI_VENDOR_SHIFT   0
 


Typedef Documentation

typedef u_int8_t pci_class_t
 

typedef u_int8_t pci_interface_t
 

typedef u_int8_t pci_intr_grant_t
 

typedef u_int8_t pci_intr_latency_t
 

typedef u_int8_t pci_intr_line_t
 

typedef u_int8_t pci_intr_pin_t
 

typedef u_int16_t pci_product_t
 

typedef u_int32_t pci_reg_t
 

typedef u_int8_t pci_revision_t
 

typedef u_int8_t pci_subclass_t
 

typedef u_int16_t pci_vendor_t
 


Generated on Wed May 24 23:06:03 2006 for LSE/OS by  doxygen 1.4.6