cpu: flush TB cache when loading VMState
[qemu/ar7.git] / qapi / tpm.json
blob7093f268fb2c5820aee018c7dcf0b19bfd813aa9
1 # -*- Mode: Python -*-
4 ##
5 # = TPM (trusted platform module) devices
6 ##
8 ##
9 # @TpmModel:
11 # An enumeration of TPM models
13 # @tpm-tis: TPM TIS model
15 # Since: 1.5
17 { 'enum': 'TpmModel', 'data': [ 'tpm-tis' ] }
20 # @query-tpm-models:
22 # Return a list of supported TPM models
24 # Returns: a list of TpmModel
26 # Since: 1.5
28 # Example:
30 # -> { "execute": "query-tpm-models" }
31 # <- { "return": [ "tpm-tis" ] }
34 { 'command': 'query-tpm-models', 'returns': ['TpmModel'] }
37 # @TpmType:
39 # An enumeration of TPM types
41 # @passthrough: TPM passthrough type
42 # @emulator: Software Emulator TPM type
43 #            Since: 2.11
45 # Since: 1.5
47 { 'enum': 'TpmType', 'data': [ 'passthrough', 'emulator' ] }
50 # @query-tpm-types:
52 # Return a list of supported TPM types
54 # Returns: a list of TpmType
56 # Since: 1.5
58 # Example:
60 # -> { "execute": "query-tpm-types" }
61 # <- { "return": [ "passthrough", "emulator" ] }
64 { 'command': 'query-tpm-types', 'returns': ['TpmType'] }
67 # @TPMPassthroughOptions:
69 # Information about the TPM passthrough type
71 # @path: string describing the path used for accessing the TPM device
73 # @cancel-path: string showing the TPM's sysfs cancel file
74 #               for cancellation of TPM commands while they are executing
76 # Since: 1.5
78 { 'struct': 'TPMPassthroughOptions', 'data': { '*path' : 'str',
79                                              '*cancel-path' : 'str'} }
82 # @TPMEmulatorOptions:
84 # Information about the TPM emulator type
86 # @chardev: Name of a unix socket chardev
88 # Since: 2.11
90 { 'struct': 'TPMEmulatorOptions', 'data': { 'chardev' : 'str' } }
93 # @TpmTypeOptions:
95 # A union referencing different TPM backend types' configuration options
97 # @type: 'passthrough' The configuration options for the TPM passthrough type
98 #        'emulator' The configuration options for TPM emulator backend type
100 # Since: 1.5
102 { 'union': 'TpmTypeOptions',
103    'data': { 'passthrough' : 'TPMPassthroughOptions',
104              'emulator': 'TPMEmulatorOptions' } }
107 # @TPMInfo:
109 # Information about the TPM
111 # @id: The Id of the TPM
113 # @model: The TPM frontend model
115 # @options: The TPM (backend) type configuration options
117 # Since: 1.5
119 { 'struct': 'TPMInfo',
120   'data': {'id': 'str',
121            'model': 'TpmModel',
122            'options': 'TpmTypeOptions' } }
125 # @query-tpm:
127 # Return information about the TPM device
129 # Returns: @TPMInfo on success
131 # Since: 1.5
133 # Example:
135 # -> { "execute": "query-tpm" }
136 # <- { "return":
137 #      [
138 #        { "model": "tpm-tis",
139 #          "options":
140 #            { "type": "passthrough",
141 #              "data":
142 #                { "cancel-path": "/sys/class/misc/tpm0/device/cancel",
143 #                  "path": "/dev/tpm0"
144 #                }
145 #            },
146 #          "id": "tpm0"
147 #        }
148 #      ]
149 #    }
152 { 'command': 'query-tpm', 'returns': ['TPMInfo'] }