GPIO Extensions

The General Purpose Input/Output (GPIO) extension commands display the software state of GPIO controllers. These commands display information from data structures maintained by the GPIO framework extension driver (Msgpioclx.sys). For information about the GPIO framework extension, see General-Purpose I/O (GPIO) Drivers.

The GPIO debugger extension commands are implemented in gpiokd.dll. To load the GPIO commands, enter .load gpiokd.dll in the debugger.

Each GPIO controller has a set of banks. Each bank has a pin table that has an array of pins. The GPIO debugger extension commands display information about GPIO controllers, banks, pin tables, and pins.

Data structures used by the GPIO commands

The GPIO debugger extension commands use these data structures, which are defined by Msgpioclx.sys.

msgpioclx!_DEVICE_EXTENSION
The device extension structure for the GPIO framework extension driver. This structure holds information about an individual GPIO controller.

msgpioclx!_GPIO_BANK_ENTRY
This structure holds information about an individual bank of a GPIO controller.

msgpioclx!_GPIO_PIN_INFORMATION_ENTRY
This structure holds information about an individual pin in a bank of a GPIO controller.

Getting started with GPIO debugging

To start debugging a GPIO issue, enter the !gpiokd.clientlist command. The !gpiokd.clientlist command displays an overview of all registered GPIO controllers and displays addresses that you can pass to other GPIO debugger commands.

In this section

Topic Description

!gpiokd.help

The !gpiokd.help command displays help for the GPIO debugger extension commands.

!gpiokd.bankinfo

The !gpiokd.bankinfo command displays information about a GPIO bank.

!gpiokd.clientlist

The !gpiokd.clientlist command displays all registered GPIO controllers.

!gpiokd.gpioext

The !gpiokd.gpioext command displays information about a GPIO controller.

!gpiokd.pininfo

The !gpiokd.pininfo command displays information about a specified GPIO pin.

!gpiokd.pinisrvec

The !gpiokd.pinisrvec command displays Interrupt Service Routine (ISR) vector information for a specified pin.

!gpiokd.pintable

The !gpiokd.pintable command displays information about an array of GPIO pins.

See also

Specialized Extension Commands