Version 7 (modified by pierre, 7 years ago)

--

PCI Devices

CLI Mode

Entering PCI mode

From the CLI, you can enter the PCI mode by the following command

hdt> pci
PCI: 7 devices detected
PCI: Resolving names
PCI: Resolving class names
PCI: Resolving module names
pci>

Note: when entering the pci mode for the first time, HDT detects the available PCI devices.
In addition, the name/class name/module resolution is done. Please read below for more information.

Listing PCI devices

Inside the PCI mode, you can use the show command to display the PCI information :

For every device the is output reports :

  • a unique number (01-07 is this example)
  • the PCI class name
  • the associated kernel module

pci> show 
7 PCI devices detected
01: Intel Corporation 440FX - 82441FX PMC [Natoma] 
    # Host bridge               # Kmod: unknown

02: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 
    # ISA bridge                # Kmod: unknown

03: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 
    # IDE interface             # Kmod: piix | ata_piix

04: Intel Corporation 82371AB/EB/MB PIIX4 ACPI 
    # Bridge                    # Kmod: i2c_piix4

05: Cirrus Logic GD 5446 
    # VGA compatible controller # Kmod: cirrusfb

06: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ 
    # Ethernet controller       # Kmod: 8139too | 8139cp

07: Qumranet, Inc. unknown 
    # RAM memory                # Kmod: unknown

pci> 

Displaying details

To display more details of a given PCI device, you can use the show device <x> command.

The output is pretty obvious, no need to detail more.
Note: if the selected PCI device is the PXE booted device, its MAC ADDRESS will be displayed.

pci> show device 06
PCI Device 6
Vendor Name   : Realtek Semiconductor Co., Ltd.
Product Name  : RTL-8139/8139C/8139C+
Class Name    : Ethernet controller
Kernel module : 8139too | 8139cp
Vendor ID     : 10ec
Product ID    : 8139
SubVendor ID  : 1af4
SubProduct ID : 1100
Class ID      : 02.00.00
Revision      : 20
IRQ           : 11
Latency       : 32
PCI Bus       : 00
PCI Slot      : 03
PCI Func      : 00
Mac Address   : 52:54:00:12:34:56
PXE           : Current boot device
pci> 

Displaying IRQs

To display the legacy IRQs of the detected device, you can use the show irq command.

pci> show irq
7 PCI devices detected
IRQ : product
-------------
09  : Intel Corporation 82371AB/EB/MB PIIX4 ACPI 
11  : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ 
11  : Qumranet, Inc. unknown 
pci> 

PCI class/name resolution

To enable the PCI commercial names and class resolution, please copy a pci.ids file a directory.
By default, hdt will search this file in the root dir of the bootable device.
If you want to override the directory you can use the following parameters.

  • pciids=your_path/pci.ids

This can be configured like this :

  label hdt
    KERNEL hdt.c32
    APPEND pciids=images/pci.ids

The pci.ids can usally be found in the /usr/share/ directory of a Linux System or just  here.

PCI linux kernel module name resolution

HDT can display for each pci device the associated Linux kernel modules. To enable this feature, please copy a modules.pcimap or modules.alias file in a directory.
By default, hdt will search this files in the root dir of the bootable device. If you want to override the directory you can use the following parameters.

  • modules_pcimap=your_path/modules.pcimap
  • modules_alias=your_path/modules.alias

This can be configured like this :

  label hdt
    KERNEL hdt.c32
    APPEND modules_pcimap=images/modules.pcimap pciids=images/pci.ids

The modules.pcimap is available in the /lib/modules/<kernel_version>/ directory of your Linux system.

If this files aren't available, HDT will generate some information messages to warn the user.

Attachments