cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

acpi.json (4080B)


      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' } }