qemu/qapi/acpi.json
<<
>>
Prefs
   1# -*- Mode: Python -*-
   2# vim: filetype=python
   3#
   4# This work is licensed under the terms of the GNU GPL, version 2 or later.
   5# See the COPYING file in the top-level directory.
   6# SPDX-License-Identifier: GPL-2.0-or-later
   7
   8##
   9# = ACPI
  10##
  11
  12##
  13# @AcpiTableOptions:
  14#
  15# Specify an ACPI table on the command line to load.
  16#
  17# At most one of @file and @data can be specified. The list of files specified
  18# by any one of them is loaded and concatenated in order. If both are omitted,
  19# @data is implied.
  20#
  21# Other fields / optargs can be used to override fields of the generic ACPI
  22# table header; refer to the ACPI specification 5.0, section 5.2.6 System
  23# Description Table Header. If a header field is not overridden, then the
  24# corresponding value from the concatenated blob is used (in case of @file), or
  25# it is filled in with a hard-coded value (in case of @data).
  26#
  27# String fields are copied into the matching ACPI member from lowest address
  28# upwards, and silently truncated / NUL-padded to length.
  29#
  30# @sig: table signature / identifier (4 bytes)
  31#
  32# @rev: table revision number (dependent on signature, 1 byte)
  33#
  34# @oem_id: OEM identifier (6 bytes)
  35#
  36# @oem_table_id: OEM table identifier (8 bytes)
  37#
  38# @oem_rev: OEM-supplied revision number (4 bytes)
  39#
  40# @asl_compiler_id: identifier of the utility that created the table
  41#                   (4 bytes)
  42#
  43# @asl_compiler_rev: revision number of the utility that created the
  44#                    table (4 bytes)
  45#
  46# @file: colon (:) separated list of pathnames to load and
  47#        concatenate as table data. The resultant binary blob is expected to
  48#        have an ACPI table header. At least one file is required. This field
  49#        excludes @data.
  50#
  51# @data: colon (:) separated list of pathnames to load and
  52#        concatenate as table data. The resultant binary blob must not have an
  53#        ACPI table header. At least one file is required. This field excludes
  54#        @file.
  55#
  56# Since: 1.5
  57##
  58{ 'struct': 'AcpiTableOptions',
  59  'data': {
  60    '*sig':               'str',
  61    '*rev':               'uint8',
  62    '*oem_id':            'str',
  63    '*oem_table_id':      'str',
  64    '*oem_rev':           'uint32',
  65    '*asl_compiler_id':   'str',
  66    '*asl_compiler_rev':  'uint32',
  67    '*file':              'str',
  68    '*data':              'str' }}
  69
  70##
  71# @ACPISlotType:
  72#
  73# @DIMM: memory slot
  74# @CPU: logical CPU slot (since 2.7)
  75##
  76{ 'enum': 'ACPISlotType', 'data': [ 'DIMM', 'CPU' ] }
  77
  78##
  79# @ACPIOSTInfo:
  80#
  81# OSPM Status Indication for a device
  82# For description of possible values of @source and @status fields
  83# see "_OST (OSPM Status Indication)" chapter of ACPI5.0 spec.
  84#
  85# @device: device ID associated with slot
  86#
  87# @slot: slot ID, unique per slot of a given @slot-type
  88#
  89# @slot-type: type of the slot
  90#
  91# @source: an integer containing the source event
  92#
  93# @status: an integer containing the status code
  94#
  95# Since: 2.1
  96##
  97{ 'struct': 'ACPIOSTInfo',
  98  'data'  : { '*device': 'str',
  99              'slot': 'str',
 100              'slot-type': 'ACPISlotType',
 101              'source': 'int',
 102              'status': 'int' } }
 103
 104##
 105# @query-acpi-ospm-status:
 106#
 107# Return a list of ACPIOSTInfo for devices that support status
 108# reporting via ACPI _OST method.
 109#
 110# Since: 2.1
 111#
 112# Example:
 113#
 114# -> { "execute": "query-acpi-ospm-status" }
 115# <- { "return": [ { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0},
 116#                  { "slot": "1", "slot-type": "DIMM", "source": 0, "status": 0},
 117#                  { "slot": "2", "slot-type": "DIMM", "source": 0, "status": 0},
 118#                  { "slot": "3", "slot-type": "DIMM", "source": 0, "status": 0}
 119#    ]}
 120#
 121##
 122{ 'command': 'query-acpi-ospm-status', 'returns': ['ACPIOSTInfo'] }
 123
 124##
 125# @ACPI_DEVICE_OST:
 126#
 127# Emitted when guest executes ACPI _OST method.
 128#
 129# @info: OSPM Status Indication
 130#
 131# Since: 2.1
 132#
 133# Example:
 134#
 135# <- { "event": "ACPI_DEVICE_OST",
 136#      "data": { "device": "d1", "slot": "0",
 137#                "slot-type": "DIMM", "source": 1, "status": 0 } }
 138#
 139##
 140{ 'event': 'ACPI_DEVICE_OST',
 141     'data': { 'info': 'ACPIOSTInfo' } }
 142