mpcib, mpcih, and mpciw subcommands

The mpcib (modify PCI byte), mpcih (modify PCI halfword), and mpciw (modify PCI word) subcommands write data to the PCI Configuration Space.

Format

mpcib Bid PCIslot RegOffset

mpcih Bid PCIslot RegOffset

mpciw Bid PCIslot RegOffset

Parameters

Item Description
Bid Identifies the Bus Identifier of the PCI bus.
PCIslot Combines the device number on the PCI bus and the function number on that PCI slot. The combinations uses the following formula:
PCIslot = (device_num * 8) + function 
RegOffset Identifies a zero-based byte offset of the register to read in a PCI Configuration Space.

These commands are interactive and each modification is entered one-by-one. The first unexpected input stops modification. A period (.), for example, can be used to indicate the end of the data.

Other

No aliases.

Examples

The following is an example of how to use the mpcib, the mpcih, and the mpciw subcommands:

KDB(0)> businfo                        //get PCI bus id
      **********   PCI BUSES   ***********
      ADDRESS   BID       BUS_NUM   PHB_UNIT_ID       REGIONS
      30043400  900000C0  00000000  00000000FEF00000  00000004
      30043500  900000C1  00000040  00000000FEE00000  00000002
      **********   OTHER BUSES   ***********
      ADDRESS   BID       BUS_NUM   PHB_UNIT_ID       REGIONS
      00459AE0  90000040  00000000  0000000000000000  00000001
      00459F60  90000100  00000000  0000000000000000  00000002
      0045AB60  90000300  00000000  0000000000000000  00000001
      KDB(0)> dpciw 900000c0 80 10            //display word of data
      00008010:  01F0FF00
      KDB(0)> mpciw 900000c0 80 10            //modify word
      00008010:  01F0FF00  = ffffffff
      00008014:  00A010C0  = .
      KDB(0)> dpciw 900000c0 80 10            //display new word of data
      00008010:  E1FFFFFF
      KDB(0)> mpciw 900000c0 80 10            (reset word)
      00008010:  E1FFFFFF  = 01F0FF00
      00008014:  00A010C0  = .
      KDB(0)> dpciw 900000c0 80 10            //display reset word
      00008010:  01F0FF00
      KDB(0)> mpcib 900000c0 80 10            //modify specifying bytes
      00008010:  01  = ff
      00008011:  F0  = ff
      00008012:  FF  = ff
      00008013:  00  = ff
      00008014:  00  = .
      KDB(0)> dpciw 900000c0 80 10            //display new word of data
      00008010:  E1FFFFFF
      KDB(0)> mpciw 900000c0 80 10            //reset word
      00008010:  E1FFFFFF  = 01F0FF00
      00008014:  00A010C0  = .
      KDB(0)> dpciw 900000c0 80 10            //display reset word
      00008010:  01F0FF00
      KDB(0)> mpcih 900000c0 80 10            //modify specifying halfwords
      00008010:  01F0  = ffff
      00008012:  FF00  = ffff
      00008014:  00A0  = .
      KDB(0)> dpciw 900000c0 80 10            //display new word of data
      00008010:  E1FFFFFF
      KDB(0)> mpciw 900000c0 80 10            //reset word
      00008010:  E1FFFFFF  = 01F0FF00
      00008014:  00A010C0  = .
      KDB(0)> dpciw 900000c0 80 10            //display reset word
      00008010:  01F0FF00
      KDB(0)>