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