Compartilhar via


PCI_COMMON_CONFIG

Windows Mobile Not SupportedWindows Embedded CE Supported

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