# -*- Mode: Python -*-
# vim: filetype=python
#
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
# SPDX-License-Identifier: GPL-2.0-or-later

##
# = PCI
##

##
# @PciMemoryRange:
#
# A PCI device memory region
#
# @base: the starting address (guest physical)
#
# @limit: the ending address (guest physical)
#
# Since: 0.14
##
{ 'struct': 'PciMemoryRange', 'data': {'base': 'int', 'limit': 'int'} }

##
# @PciMemoryRegion:
#
# Information about a PCI device I/O region.
#
# @bar: the index of the Base Address Register for this region
#
# @type:
#     - 'io' if the region is a PIO region
#     - 'memory' if the region is a MMIO region
#
# @address: memory address
#
# @size: memory size
#
# @prefetch: if @type is 'memory', true if the memory is prefetchable
#
# @mem_type_64: if @type is 'memory', true if the BAR is 64-bit
#
# Since: 0.14
##
{ 'struct': 'PciMemoryRegion',
  'data': {'bar': 'int', 'type': 'str', 'address': 'int', 'size': 'int',
           '*prefetch': 'bool', '*mem_type_64': 'bool' } }

##
# @PciBusInfo:
#
# Information about a bus of a PCI Bridge device
#
# @number: primary bus interface number.  This should be the number of
#     the bus the device resides on.
#
# @secondary: secondary bus interface number.  This is the number of
#     the main bus for the bridge
#
# @subordinate: This is the highest number bus that resides below the
#     bridge.
#
# @io_range: The PIO range for all devices on this bridge
#
# @memory_range: The MMIO range for all devices on this bridge
#
# @prefetchable_range: The range of prefetchable MMIO for all devices
#     on this bridge
#
# Since: 2.4
##
{ 'struct': 'PciBusInfo',
  'data': {'number': 'int', 'secondary': 'int', 'subordinate': 'int',
           'io_range': 'PciMemoryRange',
           'memory_range': 'PciMemoryRange',
           'prefetchable_range': 'PciMemoryRange' } }

##
# @PciBridgeInfo:
#
# Information about a PCI Bridge device
#
# @bus: information about the bus the device resides on
#
# @devices: a list of @PciDeviceInfo for each device on this bridge
#
# Since: 0.14
##
{ 'struct': 'PciBridgeInfo',
  'data': {'bus': 'PciBusInfo', '*devices': ['PciDeviceInfo']} }

##
# @PciDeviceClass:
#
# Information about the Class of a PCI device
#
# @desc: a string description of the device's class (not stable, and
#     should only be treated as informational)
#
# @class: the class code of the device
#
# Since: 2.4
##
{ 'struct': 'PciDeviceClass',
  'data': {'*desc': 'str', 'class': 'int'} }

##
# @PciDeviceId:
#
# Information about the Id of a PCI device
#
# @device: the PCI device id
#
# @vendor: the PCI vendor id
#
# @subsystem: the PCI subsystem id (since 3.1)
#
# @subsystem-vendor: the PCI subsystem vendor id (since 3.1)
#
# Since: 2.4
##
{ 'struct': 'PciDeviceId',
  'data': {'device': 'int', 'vendor': 'int', '*subsystem': 'int',
            '*subsystem-vendor': 'int'} }

##
# @PciDeviceInfo:
#
# Information about a PCI device
#
# @bus: the bus number of the device
#
# @slot: the slot the device is located in
#
# @function: the function of the slot used by the device
#
# @class_info: the class of the device
#
# @id: the PCI device id
#
# @irq: if an IRQ is assigned to the device, the IRQ number
#
# @irq_pin: the IRQ pin, zero means no IRQ (since 5.1)
#
# @qdev_id: the device name of the PCI device
#
# @pci_bridge: if the device is a PCI bridge, the bridge information
#
# @regions: a list of the PCI I/O regions associated with the device
#
# Since: 0.14
##
{ 'struct': 'PciDeviceInfo',
  'data': {'bus': 'int', 'slot': 'int', 'function': 'int',
           'class_info': 'PciDeviceClass', 'id': 'PciDeviceId',
           '*irq': 'int', 'irq_pin': 'int', 'qdev_id': 'str',
           '*pci_bridge': 'PciBridgeInfo', 'regions': ['PciMemoryRegion'] }}

##
# @PciInfo:
#
# Information about a PCI bus
#
# @bus: the bus index
#
# @devices: a list of devices on this bus
#
# Since: 0.14
##
{ 'struct': 'PciInfo', 'data': {'bus': 'int', 'devices': ['PciDeviceInfo']} }

##
# @query-pci:
#
# Return information about the PCI bus topology of the guest.
#
# Returns: a list of @PciInfo for each PCI bus.  Each bus is
#     represented by a json-object, which has a key with a json-array
#     of all PCI devices attached to it.  Each device is represented
#     by a json-object.
#
# Since: 0.14
#
# .. qmp-example::
#
#     -> { "execute": "query-pci" }
#     <- { "return": [
#              {
#                 "bus": 0,
#                 "devices": [
#                    {
#                       "bus": 0,
#                       "qdev_id": "",
#                       "slot": 0,
#                       "class_info": {
#                          "class": 1536,
#                          "desc": "Host bridge"
#                       },
#                       "id": {
#                          "device": 32902,
#                          "vendor": 4663
#                       },
#                       "function": 0,
#                       "regions": [
#                       ]
#                    },
#                    {
#                       "bus": 0,
#                       "qdev_id": "",
#                       "slot": 1,
#                       "class_info": {
#                          "class": 1537,
#                          "desc": "ISA bridge"
#                       },
#                       "id": {
#                          "device": 32902,
#                          "vendor": 28672
#                       },
#                       "function": 0,
#                       "regions": [
#                       ]
#                    },
#                    {
#                       "bus": 0,
#                       "qdev_id": "",
#                       "slot": 1,
#                       "class_info": {
#                          "class": 257,
#                          "desc": "IDE controller"
#                       },
#                       "id": {
#                          "device": 32902,
#                          "vendor": 28688
#                       },
#                       "function": 1,
#                       "regions": [
#                          {
#                             "bar": 4,
#                             "size": 16,
#                             "address": 49152,
#                             "type": "io"
#                          }
#                       ]
#                    },
#                    {
#                       "bus": 0,
#                       "qdev_id": "",
#                       "slot": 2,
#                       "class_info": {
#                          "class": 768,
#                          "desc": "VGA controller"
#                       },
#                       "id": {
#                          "device": 4115,
#                          "vendor": 184
#                       },
#                       "function": 0,
#                       "regions": [
#                          {
#                             "prefetch": true,
#                             "mem_type_64": false,
#                             "bar": 0,
#                             "size": 33554432,
#                             "address": 4026531840,
#                             "type": "memory"
#                          },
#                          {
#                             "prefetch": false,
#                             "mem_type_64": false,
#                             "bar": 1,
#                             "size": 4096,
#                             "address": 4060086272,
#                             "type": "memory"
#                          },
#                          {
#                             "prefetch": false,
#                             "mem_type_64": false,
#                             "bar": 6,
#                             "size": 65536,
#                             "address": -1,
#                             "type": "memory"
#                          }
#                       ]
#                    },
#                    {
#                       "bus": 0,
#                       "qdev_id": "",
#                       "irq": 11,
#                       "slot": 4,
#                       "class_info": {
#                          "class": 1280,
#                          "desc": "RAM controller"
#                       },
#                       "id": {
#                          "device": 6900,
#                          "vendor": 4098
#                       },
#                       "function": 0,
#                       "regions": [
#                          {
#                             "bar": 0,
#                             "size": 32,
#                             "address": 49280,
#                             "type": "io"
#                          }
#                       ]
#                    }
#                 ]
#              }
#           ]
#        }
#
# This example has been shortened as the real response is too long.
##
{ 'command': 'query-pci', 'returns': ['PciInfo'] }
