PCI_COMMON_CONFIG
9/8/2008
Essa estrutura descreve o espaço configuração PCI para dispositivos PCI.
Syntax
typedef struct _PCI_COMMON_CONFIG {
USHORT VendorID;
USHORT DeviceID;
USHORT Command;
USHORT Status;
UCHAR RevisionID;
UCHAR ProgIf;
UCHAR SubClass;
UCHAR BaseClass;
UCHAR CacheLineSize;
UCHAR LatencyTimer;
UCHAR HeaderType;
UCHAR BIST;
union {
struct _PCI_HEADER_TYPE_0 {
ULONG BaseAddresses[PCI_TYPE0_ADDRESSES];
ULONG CIS;
USHORT SubVendorID;
USHORT SubSystemID;
ULONG ROMBaseAddress;
ULONG Reserved2[2];
UCHAR InterruptLine;
UCHAR InterruptPin;
UCHAR MinimumGrant;
UCHAR MaximumLatency;
} type0;
struct _PCI_HEADER_TYPE_1 {
ULONG BaseAddresses[PCI_TYPE1_ADDRESSES];
UCHAR PrimaryBusNumber;
UCHAR SecondaryBusNumber;
UCHAR SubordinateBusNumber;
UCHAR SecondaryLatencyTimer;
UCHAR IOBase;
UCHAR IOLimit;
USHORT SecondaryStatus;
USHORT MemoryBase;
USHORT MemoryLimit;
USHORT PrefetchableMemoryBase;
USHORT PrefetchableMemoryLimit;
ULONG PrefetchableMemoryBaseUpper32;
ULONG PrefetchableMemoryLimitUpper32;
USHORT IOBaseUpper;
USHORT IOLimitUpper;
ULONG Reserved2;
ULONG ExpansionROMBase;
UCHAR InterruptLine;
UCHAR InterruptPin;
USHORT BridgeControl;
} type1;
struct _PCI_HEADER_TYPE_2 {
ULONG BaseAddress;
UCHAR CapabilitiesPtr;
UCHAR Reserved2;
USHORT SecondaryStatus;
UCHAR PrimaryBusNumber;
UCHAR CardbusBusNumber;
UCHAR SubordinateBusNumber;
UCHAR CardbusLatencyTimer;
ULONG MemoryBase0;
ULONG MemoryLimit0;
ULONG MemoryBase1;
ULONG MemoryLimit1;
USHORT IOBase0_LO;
USHORT IOBase0_HI;
USHORT IOLimit0_LO;
USHORT IOLimit0_HI;
USHORT IOBase1_LO;
USHORT IOBase1_HI;
USHORT IOLimit1_LO;
USHORT IOLimit1_HI;
UCHAR InterruptLine;
UCHAR InterruptPin;
USHORT BridgeControl;
USHORT SubVendorID;
USHORT SubSystemID;
ULONG LegacyBaseAddress;
UCHAR Reserved3[56];
ULONG SystemControl;
UCHAR MultiMediaControl;
UCHAR GeneralStatus;
UCHAR Reserved4[2];
UCHAR GPIO0Control;
UCHAR GPIO1Control;
UCHAR GPIO2Control;
UCHAR GPIO3Control;
ULONG IRQMuxRouting;
UCHAR RetryStatus;
UCHAR CardControl;
UCHAR DeviceControl;
UCHAR Diagnostic;
} type2;
} u;
UCHAR DeviceSpecific[108];
} PCI_COMMON_CONFIG , *PPCI_COMMON_CONFIG;
Os membros
- VendorID
Registrar identificador fornecedor PCI.
- DeviceID
Registrar identificador dispositivo PCI.
- Comando
Registrar comando PCI.
- Status
Registrar status PCI.
- RevisionID
Registrar identificador de revisão PCI.
- ProgIf
Registrar interface de programação PCI.
- SubClass
Registrar subclasse dispositivo PCI.
- BaseClass
De base dispositivo PCI-classe registrar.
- CacheLineSize
Registrar tamanho de linha armazenar em cache PCI.
- LatencyTimer
Registrar timer latência PCI.
HeaderType
Registrar tipo cabeçalho PCI.A seguinte tabela mostra os valores possíveis.
Valor Descrição 0
Indica um dispositivo PCI típico.
1
Indica uma ponte PCI-PCI.
2
Indica uma ponte PCI-CardBus.
- BIST
Interno PCI autoteste registrar.
- u.type0.BaseAddresses
Matriz do endereço de base PCI registra. Típicos dispositivos PCI possuem seis registradores endereço básico, pontes PCI-para ter dois e pontes PCI-para-CARDBUS tiver um.
- u.type0.CIS
CardBus cartão informações estrutura (CIS) ponteiro registrar.
- u.type0.SubVendorID
Registrar identificador fornecedor subsistema PCI.
- u.type0.SubSystemID
Registrar identificador subsistema PCI.
- u.type0.ROMBaseAddress
Registrar endereço de base PCI ROM.
- u.type0.Reserved2
Reservado.
- u.type0.InterruptLine
Registrar de linha interrupção PCI.
- u.type0.InterruptPin
Registrar pino interrupção PCI.
- u.type0.MinimumGrant
PCI mínimo conceder registrar.
- u.type0.MaximumLatency
Registrar latência máxima PCI.
- u.type1.BaseAddress
Registrar endereço de base PCI.
- u.type1.PrimaryBusNumber
Primário PCI registrar número barramento.
- u.type1.SecondaryBusNumber
Secundário PCI registrar número barramento.
- u.type1.SubordinateBusNumber
Número subordinada barramento PCI.
- u.type1.SecondaryLatencyTimer
Secundário PCI timer latência.
- u.type1.IOBase
Diminua 8 bits de registrar endereço de base PCI I/O.
- u.type1.IOLimit
Diminua 8 bits de registrar endereço limite PCI I/O.
- u.type1.SecondaryStatus
Secundário PCI registrar status.
- u.type1.MemoryBase
Registrar endereço de base memória PCI.
- u.type1.MemoryLimit
Registrar endereço limite memória PCI
- u.type1.PrefetchableMemoryBase
Diminua 16 bits de registrar endereço de base prefetchable memória PCI.
- u.type1.PrefetchableMemoryLimit
Diminua 16 bits de registrar endereço limite prefetchable memória PCI.
- u.type1.PrefetchableMemoryBaseUpper32
32 Bits superiores do registrar endereço de base prefetchable memória PCI.
- u.type1.PrefetchableMemoryLimitUpper32
32 Bits superiores do PCI memória prefetchable limite endereço registrar.
- u.type1.IOBaseUpper
16 Bits superiores do registrar endereço de base PCI I/O.
- u.type1.IOLimitUpper
16 Bits superiores do endereço limite PCI I/O registrar.
- u.type1.Reserved2
Reservado.
- u.type1.ExpansionROMBase
Registrar endereço PCI expansão ROM de base.
- u.type1.InterruptLine
Registrar de linha interrupção PCI.
- u.type1.InterruptPin
Registrar pino interrupção PCI.
- u.type1.BridgeControl
Registrar controle ponte PCI.
- u.type1.BaseAddress
Registrar endereço de base PCI.
- u.type2.CapabilitiesPtr
Registrar ponteiro recursos PCI.
- u.type2.Reserved2
Reservado.
- u.type2.PrimaryBusNumber
Primário PCI registrar número barramento.
- u.type2.SecondaryStatus
Secundário PCI registrar status.
- u.type2.CardbusBusNumber
Registrar número barramento CardBus.
- u.type2.SubordinateBusNumber
Número subordinada barramento PCI.
- u.type2.CardbusLatencyTimer
Registrar timer latência CardBus.
- u.type2.MemoryBase0
Registrar endereço de base CardBus memória 0.
- u.type2.MemoryLimit0
Registrar endereço limite CardBus memória 0.
- u.type2.MemoryBase1
Registrar endereço de base CardBus memória 1.
- u.type2.MemoryLimit1
Registrar endereço limite CardBus memória 1.
- u.type2.IOBase0_LO
Diminua 16 bits de CardBus I/O de base endereço registrar 0.
- u.type2.IOBase0_HI
16 Bits superiores do CardBus I/O de base endereço registrar 0.
- u.type2.IOLimit0_LO
Diminua 16 bits do endereço limite CardBus I/O registrar 0.
- u.type2.IOLimit0_HI
16 Bits superiores do endereço limite CardBus I/O registrar 0.
- u.type2.IOBase1_LO
Diminua 16 bits de CardBus I/O de base endereço registrar 1.
- u.type2.IOBase1_HI
16 Bits superiores do CardBus I/O de base endereço registrar 1.
- u.type2.IOLimit1_LO
Diminua 16 bits do endereço limite CardBus I/O registrar 1.
- u.type2.IOLimit1_HI
16 Bits superiores do endereço limite CardBus I/O registrar 1.
- u.type2.InterruptLine
Registrar de linha interrupção PCI.
- u.type2.InterruptPin
Registrar pino interrupção PCI.
- u.type2.BridgeControl
Registrar controle ponte PCI.
- u.type2.SubVendorID
Registrar identificador fornecedor subsistema PCI.
- u.type2.SubSystemID
Registrar identificador subsistema PCI.
- u.type2.LegacyBaseAddress
Herdado de CardBus registrar endereço de base.
- u.type2.Reserved3
Reservado.
- u.type2.SystemControl
Registrar controle sistema CardBus.
- u.type2.MultiMediaControl
Multimídia CardBus registrar controle.
- u.type2.GeneralStatus
Registrar status gerais CardBus.
- u.type2.Reserved4
Reservado.
- u.type2.GPIO0Control
Controle CardBus GPIO registra.
- u.type2.GPIO1Control
Controle CardBus GPIO registra.
- u.type2.GPIO2Control
Controle CardBus GPIO registra.
- u.type2.GPIO3Control
Controle CardBus GPIO registra.
- u.type2.IRQMuxRouting
Registrar roteamento Multiplexador CardBus IRQ.
- u.type2.RetryStatus
CardBus repetir registrar status.
- u.type2.CardControl
Registrar controle cartão CardBus.
- u.type2.DeviceControl
Registrar controle dispositivo CardBus.
- u.type2.Diagnostic
Registrar diagnóstico CardBus.
- DeviceSpecific
Dispositivo registros específicos no espaço de configuração PCI, varia por dispositivo.
Remarks
Todos os dispositivos PCI possuem um comum conjunto de registros que incluam VendorID, DeviceID, e assim por diante.
Essa estrutura é diferente para esses dispositivos PCI: cabeçalho tipo 0 para dispositivos, cabeçalho tipo 1 para pontes PCI-to-PCI e cabeçalho tipo 2 para pontes PCI-para-CARDBUS. Para obter mais informações, consulte o Especificação de barramento local PCI, Revisão 2.1 ou 2.2.
Requirements
Header | ceddk.h |
Windows Embedded CE | Windows CE .NET 4.0 and later |