qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

acpi.json (4173B)


      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": { "info": { "device": "d1", "slot": "0",
    137 #                          "slot-type": "DIMM", "source": 1, "status": 0 } },
    138 #      "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
    139 #
    140 ##
    141 { 'event': 'ACPI_DEVICE_OST',
    142      'data': { 'info': 'ACPIOSTInfo' } }