[分享]pnp tips(zt)

PNP-PCI B 接

每 PCI Device 都 有 64 DWORD 的 Configuration Address Space, 前 16DWORD 定 x Configuration Header Region, @ 部 分 包 含 了 Vendor ID & Device ID。 透 ^ x 取 PCI Device 的 Vendor ID 所 回 非 FFFFh 可 y O 的 存 在 , _ 定 了 Device 存 在 後,系 y x 取 此 64 DWORD 的 Register 以 Q 定 所 需 的 Resource。

然 要 Q 定 Device 的 Resource 除 了 x 取 Vendor ID、Device ID 外 需 x 取 其 他 Register,分 述 如 後:

  1. Bus Master: MAX_LAT Q 定 Priority,MIN_GNT Q 定 所 需 的 time slice。
  2. Header Type Register: Q 定 Device Single or Multi Function。
  3. Base Address Register:所 需 memory & IO space size。
  4. PCMCIA:CardBus CIS pointer register Q 定 Device data-structure 的 位 置。
  5. Subsystem (Vendor) ID:^ 分 用 同 一 core logic 的 device。
  6. Expansion ROM Base Address:表 示 Device 具 ROM 及 其 大 小。
  7. Interrupt Pin Register: Device 用 此 Interrupt l 出 中 求。

若 PC 上 除 PCI 外 另 有 ISA Device,系 y 必 _ 保 PCI 所 分 配 的 Resource 不 c ISA Device n 突,一 般 ISA Device 使 用 到 IO space 0100h~03FF 及 03FF 以 上 的 位 址。

OS d 入 Driver 到 Memory 後,Driver 的 initial code 藉 由 Vendor\Device ID 呼 叫 PCI BIOS 以 l 出 找 相 P Device 的 求,同 r 也 可 利 用 class code (000000h 代 表 Device 不 存 在) 找 Device 是 否 存 在。 若 同 Vendor\Device ID 有 一 以 上, PCI BIOS @ 些 Device、PCI BUS、Function K 回 Driver,而 後 Driver 藉 由 呼 叫 PCI BIOS 的 Service 及 存 取 Device 的 Configuration Address Space 以 得 知 所 配 置 的 Resource。在 此 先 申 明 , Windows 95 不 是 透 ^ PCI BIOS Q 定 Resource 的 配 置,而 是 以 Configuration manager Registry 得 知 Device 的 Resource。 Windows NT t 以 HAL 取 代 PCIBIOS

不懂。