ddvb, ddvh, ddvw, ddvd, ddpb, ddph, ddpw, and ddpd subcommand

The ddvb, ddvh, ddvw and ddvd subcommands can be used to access memory in translated mode, using an effective address already mapped. On a 64-bit machine, double words correctly aligned are accessed in a single load (ld) instruction with the ddvd subcommand. The ddpb, ddph, ddpw and ddpd subcommands can be used to access memory in translated mode, using a physical address that will be mapped. On a 64-bit machine, double words correctly aligned are accessed in a single load (ld) instruction with the ddpd subcommand. The DBAT interface is used to translate this address in cache-inhibited mode.

Note: These subcommands are only available within the KDB kernel debugger. They are not included in the kdb command.

Format

ddvb EffectiveAddress [count]

ddvh EffectiveAddress [count]

ddvw EffectiveAddress [count]

ddvd EffectiveAddress [count]

ddpb PhysicalAddress [count]

ddph PhysicalAddress [count]

ddpw PhysicalAddress [count]

ddpd PhysicalAddress [count]

Parameters

Item Description
EffectiveAddress Specifies the effective or virtual address of the starting memory area to display. Symbols, hexadecimal values, or hexadecimal expressions can be used to specify the address.
PhysicalAddress Specifies the physical or real address of the starting memory area to display. Symbols, hexadecimal values, or hexadecimal expressions can be used to specify the address.
count Specifies the number of bytes for ddvb and ddpb to display, specifies the number of half words for ddvh and ddph to display, specifies the number of words for ddvw and ddpw to display and specifies the number of double words for ddvd and ddpd to display. The count argument is a hexadecimal value.

I/O space memory (Direct Store Segment (T=1)) cannot be accessed when translation is disabled. The areas mapped by the bat command areas must also be accessed with translation enabled. Otherwise, cache controls are ignored.

Note: The subcommands that use effective addresses assume that mapping to real addresses is currently valid. No check is done by the KDB kernel debugger. The subcommands that use real addresses can be used to let KDB kernel debugger perform the mapping (attach and detach).

Other

The alias for:

  • ddvb is diob
  • ddvh is dioh
  • ddvw is diow
  • ddvd is diod

There are no aliases for the following:

  • ddpb
  • ddph
  • ddpw
  • ddpd

Examples

The following is an example on a PCI machine:

KDB(0)> ddpw 80000cfc //print one word at physical address 80000cfc
80000CFC: D0000080    //Read is done in relocated mode, cache inhibited
KDB(0)>