# -*- 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 info 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'] }
