~ubuntu-branches/ubuntu/saucy/qemu/saucy-proposed

« back to all changes in this revision

Viewing changes to qapi-schema.json

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2013-05-28 08:18:30 UTC
  • mfrom: (1.8.2) (10.1.37 sid)
  • Revision ID: package-import@ubuntu.com-20130528081830-87xl2z9fq516a814
Tags: 1.5.0+dfsg-2ubuntu1
* Merge 1.5.0+dfs-2 from debian unstable.  Remaining changes:
  - debian/control
    * update maintainer
    * remove libiscsi, usb-redir, vde, vnc-jpeg, and libssh2-1-dev
      from build-deps
    * enable rbd
    * add qemu-system and qemu-common B/R to qemu-keymaps
    * add D:udev, R:qemu, R:qemu-common and B:qemu-common to
      qemu-system-common
    * qemu-system-arm, qemu-system-ppc, qemu-system-sparc:
      - add qemu-kvm to Provides
      - add qemu-common, qemu-kvm, kvm to B/R
      - remove openbios-sparc from qemu-system-sparc D
    * qemu-system-x86:
      - add qemu-common to Breaks/Replaces.
      - add cpu-checker to Recommends.
    * qemu-user: add B/R:qemu-kvm
    * qemu-kvm:
      - add armhf armel powerpc sparc to Architecture
      - C/R/P: qemu-kvm-spice
    * add qemu-common package
    * drop qemu-slof which is not packaged in ubuntu
  - add qemu-system-common.links for tap ifup/down scripts and OVMF link.
  - qemu-system-x86.links:
    * remove pxe rom links which are in kvm-ipxe
    * add symlink for kvm.1 manpage
  - debian/rules
    * add kvm-spice symlink to qemu-kvm
    * call dh_installmodules for qemu-system-x86
    * update dh_installinit to install upstart script
    * run dh_installman (Closes: #709241) (cherrypicked from 1.5.0+dfsg-2)
  - Add qemu-utils.links for kvm-* symlinks.
  - Add qemu-system-x86.qemu-kvm.upstart and .default
  - Add qemu-system-x86.modprobe to set nesting=1
  - Add qemu-system-common.preinst to add kvm group
  - qemu-system-common.postinst: remove bad group acl if there, then have
    udev relabel /dev/kvm.
  - Dropped patches:
    * 0001-fix-wrong-output-with-info-chardev-for-tcp-socket.patch
  - Kept patches:
    * expose_vms_qemu64cpu.patch - updated
    * gridcentric patch - updated
    * linaro arm patches from qemu-linaro rebasing branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
174
174
# @suspended: guest is suspended (ACPI S3)
175
175
#
176
176
# @watchdog: the watchdog action is configured to pause and has been triggered
 
177
#
 
178
# @guest-panicked: guest has been panicked as a result of guest OS panic
177
179
##
178
180
{ 'enum': 'RunState',
179
181
  'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused',
180
182
            'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm',
181
 
            'running', 'save-vm', 'shutdown', 'suspended', 'watchdog' ] }
 
183
            'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
 
184
            'guest-panicked' ] }
182
185
 
183
186
##
184
187
# @SnapshotInfo
245
248
           '*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'] } }
246
249
 
247
250
##
 
251
# @ImageCheck:
 
252
#
 
253
# Information about a QEMU image file check
 
254
#
 
255
# @filename: name of the image file checked
 
256
#
 
257
# @format: format of the image file checked
 
258
#
 
259
# @check-errors: number of unexpected errors occurred during check
 
260
#
 
261
# @image-end-offset: #optional offset (in bytes) where the image ends, this
 
262
#                    field is present if the driver for the image format
 
263
#                    supports it
 
264
#
 
265
# @corruptions: #optional number of corruptions found during the check if any
 
266
#
 
267
# @leaks: #optional number of leaks found during the check if any
 
268
#
 
269
# @corruptions-fixed: #optional number of corruptions fixed during the check
 
270
#                     if any
 
271
#
 
272
# @leaks-fixed: #optional number of leaks fixed during the check if any
 
273
#
 
274
# @total-clusters: #optional total number of clusters, this field is present
 
275
#                  if the driver for the image format supports it
 
276
#
 
277
# @allocated-clusters: #optional total number of allocated clusters, this
 
278
#                      field is present if the driver for the image format
 
279
#                      supports it
 
280
#
 
281
# @fragmented-clusters: #optional total number of fragmented clusters, this
 
282
#                       field is present if the driver for the image format
 
283
#                       supports it
 
284
#
 
285
# @compressed-clusters: #optional total number of compressed clusters, this
 
286
#                       field is present if the driver for the image format
 
287
#                       supports it
 
288
#
 
289
# Since: 1.4
 
290
#
 
291
##
 
292
 
 
293
{ 'type': 'ImageCheck',
 
294
  'data': {'filename': 'str', 'format': 'str', 'check-errors': 'int',
 
295
           '*image-end-offset': 'int', '*corruptions': 'int', '*leaks': 'int',
 
296
           '*corruptions-fixed': 'int', '*leaks-fixed': 'int',
 
297
           '*total-clusters': 'int', '*allocated-clusters': 'int',
 
298
           '*fragmented-clusters': 'int', '*compressed-clusters': 'int' } }
 
299
 
 
300
##
248
301
# @StatusInfo:
249
302
#
250
303
# Information about VCPU run state
446
499
#
447
500
# @total: total amount of bytes involved in the migration process
448
501
#
449
 
# @duplicate: number of duplicate pages (since 1.2)
 
502
# @duplicate: number of duplicate (zero) pages (since 1.2)
 
503
#
 
504
# @skipped: number of skipped zero pages (since 1.5)
450
505
#
451
506
# @normal : number of normal pages (since 1.2)
452
507
#
459
514
##
460
515
{ 'type': 'MigrationStats',
461
516
  'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
462
 
           'duplicate': 'int', 'normal': 'int', 'normal-bytes': 'int',
463
 
           'dirty-pages-rate' : 'int' } }
 
517
           'duplicate': 'int', 'skipped': 'int', 'normal': 'int',
 
518
           'normal-bytes': 'int', 'dirty-pages-rate' : 'int' } }
464
519
 
465
520
##
466
521
# @XBZRLECacheStats
1298
1353
#         remains paused once migration finishes, as if the -S option was
1299
1354
#         passed on the command line.
1300
1355
##
1301
 
{ 'command': 'stop', 'data': {'*silent': 'bool'} }
 
1356
{ 'command': 'stop' }
1302
1357
 
1303
1358
##
1304
1359
# @system_reset:
1335
1390
{ 'command': 'cpu', 'data': {'index': 'int'} }
1336
1391
 
1337
1392
##
 
1393
# @cpu-add
 
1394
#
 
1395
# Adds CPU with specified ID
 
1396
#
 
1397
# @id: ID of CPU to be created, valid values [0..max_cpus)
 
1398
#
 
1399
# Returns: Nothing on success
 
1400
#
 
1401
# Since 1.5
 
1402
##
 
1403
{ 'command': 'cpu-add', 'data': {'id': 'int'} }
 
1404
 
 
1405
##
1338
1406
# @memsave:
1339
1407
#
1340
1408
# Save a portion of guest memory to a file.
1548
1616
##
1549
1617
{ 'union': 'BlockdevAction',
1550
1618
  'data': {
1551
 
       'blockdev-snapshot-sync': 'BlockdevSnapshot',
 
1619
       'blockdev-snapshot-sync': 'BlockdevSnapshot'
1552
1620
   } }
1553
1621
 
1554
1622
##
2304
2372
# Notes: When this command completes, the device may not be removed from the
2305
2373
#        guest.  Hot removal is an operation that requires guest cooperation.
2306
2374
#        This command merely requests that the guest begin the hot removal
2307
 
#        process.
 
2375
#        process.  Completion of the device removal process is signaled with a
 
2376
#        DEVICE_DELETED event. Guest reset will automatically complete removal
 
2377
#        for all devices.
2308
2378
#
2309
2379
# Since: 0.14.0
2310
2380
##
2504
2574
#
2505
2575
# @fd: #optional file descriptor of an already opened tap
2506
2576
#
 
2577
# @fds: #optional multiple file descriptors of already opened multiqueue capable
 
2578
# tap
 
2579
#
2507
2580
# @script: #optional script to initialize the interface
2508
2581
#
2509
2582
# @downscript: #optional script to shut down the interface
2518
2591
#
2519
2592
# @vhostfd: #optional file descriptor of an already opened vhost net device
2520
2593
#
 
2594
# @vhostfds: #optional file descriptors of multiple already opened vhost net
 
2595
# devices
 
2596
#
2521
2597
# @vhostforce: #optional vhost on for non-MSIX virtio guests
2522
2598
#
 
2599
# @queues: #optional number of queues to be created for multiqueue capable tap
 
2600
#
2523
2601
# Since 1.2
2524
2602
##
2525
2603
{ 'type': 'NetdevTapOptions',
2788
2866
#
2789
2867
# @default: #optional whether the machine is default
2790
2868
#
 
2869
# @cpu-max: maximum number of CPUs supported by the machine type
 
2870
#           (since 1.5.0)
 
2871
#
2791
2872
# Since: 1.2.0
2792
2873
##
2793
2874
{ 'type': 'MachineInfo',
2794
2875
  'data': { 'name': 'str', '*alias': 'str',
2795
 
            '*is-default': 'bool' } }
 
2876
            '*is-default': 'bool', 'cpu-max': 'int' } }
2796
2877
 
2797
2878
##
2798
2879
# @query-machines:
2938
3019
##
2939
3020
{ 'enum': 'TargetType',
2940
3021
  'data': [ 'alpha', 'arm', 'cris', 'i386', 'lm32', 'm68k', 'microblazeel',
2941
 
            'microblaze', 'mips64el', 'mips64', 'mipsel', 'mips', 'or32',
2942
 
            'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4', 'sparc64',
2943
 
            'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }
 
3022
            'microblaze', 'mips64el', 'mips64', 'mipsel', 'mips', 'moxie',
 
3023
            'or32', 'ppc64', 'ppcemb', 'ppc', 's390x', 'sh4eb', 'sh4',
 
3024
            'sparc64', 'sparc', 'unicore32', 'x86_64', 'xtensaeb', 'xtensa' ] }
2944
3025
 
2945
3026
##
2946
3027
# @TargetInfo:
3097
3178
##
3098
3179
# @ChardevHostdev:
3099
3180
#
3100
 
# Configuration info for device chardevs.
 
3181
# Configuration info for device and pipe chardevs.
3101
3182
#
3102
3183
# @device: The name of the special file for the device,
3103
3184
#          i.e. /dev/ttyS0 on Unix or COM1: on Windows
3110
3191
##
3111
3192
# @ChardevSocket:
3112
3193
#
3113
 
# Configuration info for socket chardevs.
 
3194
# Configuration info for (stream) socket chardevs.
3114
3195
#
3115
3196
# @addr: socket address to listen on (server=true)
3116
3197
#        or connect to (server=false)
3129
3210
                                     '*telnet'  : 'bool' } }
3130
3211
 
3131
3212
##
 
3213
# @ChardevUdp:
 
3214
#
 
3215
# Configuration info for datagram socket chardevs.
 
3216
#
 
3217
# @remote: remote address
 
3218
# @local: #optional local address
 
3219
#
 
3220
# Since: 1.5
 
3221
##
 
3222
{ 'type': 'ChardevUdp', 'data': { 'remote' : 'SocketAddress',
 
3223
                                  '*local' : 'SocketAddress' } }
 
3224
 
 
3225
##
 
3226
# @ChardevMux:
 
3227
#
 
3228
# Configuration info for mux chardevs.
 
3229
#
 
3230
# @chardev: name of the base chardev.
 
3231
#
 
3232
# Since: 1.5
 
3233
##
 
3234
{ 'type': 'ChardevMux', 'data': { 'chardev' : 'str' } }
 
3235
 
 
3236
##
 
3237
# @ChardevStdio:
 
3238
#
 
3239
# Configuration info for stdio chardevs.
 
3240
#
 
3241
# @signal: #optional Allow signals (such as SIGINT triggered by ^C)
 
3242
#          be delivered to qemu.  Default: true in -nographic mode,
 
3243
#          false otherwise.
 
3244
#
 
3245
# Since: 1.5
 
3246
##
 
3247
{ 'type': 'ChardevStdio', 'data': { '*signal' : 'bool' } }
 
3248
 
 
3249
##
 
3250
# @ChardevSpiceChannel:
 
3251
#
 
3252
# Configuration info for spice vm channel chardevs.
 
3253
#
 
3254
# @type: kind of channel (for example vdagent).
 
3255
#
 
3256
# Since: 1.5
 
3257
##
 
3258
{ 'type': 'ChardevSpiceChannel', 'data': { 'type'  : 'str' } }
 
3259
 
 
3260
##
 
3261
# @ChardevSpicePort:
 
3262
#
 
3263
# Configuration info for spice port chardevs.
 
3264
#
 
3265
# @fqdn: name of the channel (see docs/spice-port-fqdn.txt)
 
3266
#
 
3267
# Since: 1.5
 
3268
##
 
3269
{ 'type': 'ChardevSpicePort', 'data': { 'fqdn'  : 'str' } }
 
3270
 
 
3271
##
 
3272
# @ChardevVC:
 
3273
#
 
3274
# Configuration info for virtual console chardevs.
 
3275
#
 
3276
# @width:  console width,  in pixels
 
3277
# @height: console height, in pixels
 
3278
# @cols:   console width,  in chars
 
3279
# @rows:   console height, in chars
 
3280
#
 
3281
# Since: 1.5
 
3282
##
 
3283
{ 'type': 'ChardevVC', 'data': { '*width'  : 'int',
 
3284
                                 '*height' : 'int',
 
3285
                                 '*cols'   : 'int',
 
3286
                                 '*rows'   : 'int' } }
 
3287
 
 
3288
##
 
3289
# @ChardevRingbuf:
 
3290
#
 
3291
# Configuration info for memory chardevs
 
3292
#
 
3293
# @size: #optional Ringbuffer size, must be power of two, default is 65536
 
3294
#
 
3295
# Since: 1.5
 
3296
##
 
3297
{ 'type': 'ChardevRingbuf', 'data': { '*size'  : 'int' } }
 
3298
 
 
3299
##
3132
3300
# @ChardevBackend:
3133
3301
#
3134
3302
# Configuration info for the new chardev backend.
3140
3308
{ 'union': 'ChardevBackend', 'data': { 'file'   : 'ChardevFile',
3141
3309
                                       'serial' : 'ChardevHostdev',
3142
3310
                                       'parallel': 'ChardevHostdev',
 
3311
                                       'pipe'   : 'ChardevHostdev',
3143
3312
                                       'socket' : 'ChardevSocket',
 
3313
                                       'udp'    : 'ChardevUdp',
3144
3314
                                       'pty'    : 'ChardevDummy',
3145
 
                                       'null'   : 'ChardevDummy' } }
 
3315
                                       'null'   : 'ChardevDummy',
 
3316
                                       'mux'    : 'ChardevMux',
 
3317
                                       'msmouse': 'ChardevDummy',
 
3318
                                       'braille': 'ChardevDummy',
 
3319
                                       'stdio'  : 'ChardevStdio',
 
3320
                                       'console': 'ChardevDummy',
 
3321
                                       'spicevmc' : 'ChardevSpiceChannel',
 
3322
                                       'spiceport' : 'ChardevSpicePort',
 
3323
                                       'vc'     : 'ChardevVC',
 
3324
                                       'memory' : 'ChardevRingbuf' } }
3146
3325
 
3147
3326
##
3148
3327
# @ChardevReturn:
3184
3363
# Since: 1.4
3185
3364
##
3186
3365
{ 'command': 'chardev-remove', 'data': {'id': 'str'} }
 
3366
 
 
3367
##
 
3368
# @TpmModel:
 
3369
#
 
3370
# An enumeration of TPM models
 
3371
#
 
3372
# @tpm-tis: TPM TIS model
 
3373
#
 
3374
# Since: 1.5
 
3375
##
 
3376
{ 'enum': 'TpmModel', 'data': [ 'tpm-tis' ] }
 
3377
 
 
3378
##
 
3379
# @query-tpm-models:
 
3380
#
 
3381
# Return a list of supported TPM models
 
3382
#
 
3383
# Returns: a list of TpmModel
 
3384
#
 
3385
# Since: 1.5
 
3386
##
 
3387
{ 'command': 'query-tpm-models', 'returns': ['TpmModel'] }
 
3388
 
 
3389
##
 
3390
# @TpmType:
 
3391
#
 
3392
# An enumeration of TPM types
 
3393
#
 
3394
# @passthrough: TPM passthrough type
 
3395
#
 
3396
# Since: 1.5
 
3397
##
 
3398
{ 'enum': 'TpmType', 'data': [ 'passthrough' ] }
 
3399
 
 
3400
##
 
3401
# @query-tpm-types:
 
3402
#
 
3403
# Return a list of supported TPM types
 
3404
#
 
3405
# Returns: a list of TpmType
 
3406
#
 
3407
# Since: 1.5
 
3408
##
 
3409
{ 'command': 'query-tpm-types', 'returns': ['TpmType'] }
 
3410
 
 
3411
##
 
3412
# @TPMPassthroughOptions:
 
3413
#
 
3414
# Information about the TPM passthrough type
 
3415
#
 
3416
# @path: #optional string describing the path used for accessing the TPM device
 
3417
#
 
3418
# @cancel-path: #optional string showing the TPM's sysfs cancel file
 
3419
#               for cancellation of TPM commands while they are executing
 
3420
#
 
3421
# Since: 1.5
 
3422
##
 
3423
{ 'type': 'TPMPassthroughOptions', 'data': { '*path' : 'str',
 
3424
                                             '*cancel-path' : 'str'} }
 
3425
 
 
3426
##
 
3427
# @TpmTypeOptions:
 
3428
#
 
3429
# A union referencing different TPM backend types' configuration options
 
3430
#
 
3431
# @passthrough: The configuration options for the TPM passthrough type
 
3432
#
 
3433
# Since: 1.5
 
3434
##
 
3435
{ 'union': 'TpmTypeOptions',
 
3436
   'data': { 'passthrough' : 'TPMPassthroughOptions' } }
 
3437
 
 
3438
##
 
3439
# @TpmInfo:
 
3440
#
 
3441
# Information about the TPM
 
3442
#
 
3443
# @id: The Id of the TPM
 
3444
#
 
3445
# @model: The TPM frontend model
 
3446
#
 
3447
# @options: The TPM (backend) type configuration options
 
3448
#
 
3449
# Since: 1.5
 
3450
##
 
3451
{ 'type': 'TPMInfo',
 
3452
  'data': {'id': 'str',
 
3453
           'model': 'TpmModel',
 
3454
           'options': 'TpmTypeOptions' } }
 
3455
 
 
3456
##
 
3457
# @query-tpm:
 
3458
#
 
3459
# Return information about the TPM device
 
3460
#
 
3461
# Returns: @TPMInfo on success
 
3462
#
 
3463
# Since: 1.5
 
3464
##
 
3465
{ 'command': 'query-tpm', 'returns': ['TPMInfo'] }
 
3466
 
 
3467
##
 
3468
# @AcpiTableOptions
 
3469
#
 
3470
# Specify an ACPI table on the command line to load.
 
3471
#
 
3472
# At most one of @file and @data can be specified. The list of files specified
 
3473
# by any one of them is loaded and concatenated in order. If both are omitted,
 
3474
# @data is implied.
 
3475
#
 
3476
# Other fields / optargs can be used to override fields of the generic ACPI
 
3477
# table header; refer to the ACPI specification 5.0, section 5.2.6 System
 
3478
# Description Table Header. If a header field is not overridden, then the
 
3479
# corresponding value from the concatenated blob is used (in case of @file), or
 
3480
# it is filled in with a hard-coded value (in case of @data).
 
3481
#
 
3482
# String fields are copied into the matching ACPI member from lowest address
 
3483
# upwards, and silently truncated / NUL-padded to length.
 
3484
#
 
3485
# @sig: #optional table signature / identifier (4 bytes)
 
3486
#
 
3487
# @rev: #optional table revision number (dependent on signature, 1 byte)
 
3488
#
 
3489
# @oem_id: #optional OEM identifier (6 bytes)
 
3490
#
 
3491
# @oem_table_id: #optional OEM table identifier (8 bytes)
 
3492
#
 
3493
# @oem_rev: #optional OEM-supplied revision number (4 bytes)
 
3494
#
 
3495
# @asl_compiler_id: #optional identifier of the utility that created the table
 
3496
#                   (4 bytes)
 
3497
#
 
3498
# @asl_compiler_rev: #optional revision number of the utility that created the
 
3499
#                    table (4 bytes)
 
3500
#
 
3501
# @file: #optional colon (:) separated list of pathnames to load and
 
3502
#        concatenate as table data. The resultant binary blob is expected to
 
3503
#        have an ACPI table header. At least one file is required. This field
 
3504
#        excludes @data.
 
3505
#
 
3506
# @data: #optional colon (:) separated list of pathnames to load and
 
3507
#        concatenate as table data. The resultant binary blob must not have an
 
3508
#        ACPI table header. At least one file is required. This field excludes
 
3509
#        @file.
 
3510
#
 
3511
# Since 1.5
 
3512
##
 
3513
{ 'type': 'AcpiTableOptions',
 
3514
  'data': {
 
3515
    '*sig':               'str',
 
3516
    '*rev':               'uint8',
 
3517
    '*oem_id':            'str',
 
3518
    '*oem_table_id':      'str',
 
3519
    '*oem_rev':           'uint32',
 
3520
    '*asl_compiler_id':   'str',
 
3521
    '*asl_compiler_rev':  'uint32',
 
3522
    '*file':              'str',
 
3523
    '*data':              'str' }}
 
3524
 
 
3525
##
 
3526
# @CommandLineParameterType:
 
3527
#
 
3528
# Possible types for an option parameter.
 
3529
#
 
3530
# @string: accepts a character string
 
3531
#
 
3532
# @boolean: accepts "on" or "off"
 
3533
#
 
3534
# @number: accepts a number
 
3535
#
 
3536
# @size: accepts a number followed by an optional suffix (K)ilo,
 
3537
#        (M)ega, (G)iga, (T)era
 
3538
#
 
3539
# Since 1.5
 
3540
##
 
3541
{ 'enum': 'CommandLineParameterType',
 
3542
  'data': ['string', 'boolean', 'number', 'size'] }
 
3543
 
 
3544
##
 
3545
# @CommandLineParameterInfo:
 
3546
#
 
3547
# Details about a single parameter of a command line option.
 
3548
#
 
3549
# @name: parameter name
 
3550
#
 
3551
# @type: parameter @CommandLineParameterType
 
3552
#
 
3553
# @help: #optional human readable text string, not suitable for parsing.
 
3554
#
 
3555
# Since 1.5
 
3556
##
 
3557
{ 'type': 'CommandLineParameterInfo',
 
3558
  'data': { 'name': 'str',
 
3559
            'type': 'CommandLineParameterType',
 
3560
            '*help': 'str' } }
 
3561
 
 
3562
##
 
3563
# @CommandLineOptionInfo:
 
3564
#
 
3565
# Details about a command line option, including its list of parameter details
 
3566
#
 
3567
# @option: option name
 
3568
#
 
3569
# @parameters: an array of @CommandLineParameterInfo
 
3570
#
 
3571
# Since 1.5
 
3572
##
 
3573
{ 'type': 'CommandLineOptionInfo',
 
3574
  'data': { 'option': 'str', 'parameters': ['CommandLineParameterInfo'] } }
 
3575
 
 
3576
##
 
3577
# @query-command-line-options:
 
3578
#
 
3579
# Query command line option schema.
 
3580
#
 
3581
# @option: #optional option name
 
3582
#
 
3583
# Returns: list of @CommandLineOptionInfo for all options (or for the given
 
3584
#          @option).  Returns an error if the given @option doesn't exist.
 
3585
#
 
3586
# Since 1.5
 
3587
##
 
3588
{'command': 'query-command-line-options', 'data': { '*option': 'str' },
 
3589
 'returns': ['CommandLineOptionInfo'] }
 
3590
 
 
3591
##
 
3592
# @X86CPURegister32
 
3593
#
 
3594
# A X86 32-bit register
 
3595
#
 
3596
# Since: 1.5
 
3597
##
 
3598
{ 'enum': 'X86CPURegister32',
 
3599
  'data': [ 'EAX', 'EBX', 'ECX', 'EDX', 'ESP', 'EBP', 'ESI', 'EDI' ] }
 
3600
 
 
3601
##
 
3602
# @X86CPUFeatureWordInfo
 
3603
#
 
3604
# Information about a X86 CPU feature word
 
3605
#
 
3606
# @cpuid-input-eax: Input EAX value for CPUID instruction for that feature word
 
3607
#
 
3608
# @cpuid-input-ecx: #optional Input ECX value for CPUID instruction for that
 
3609
#                   feature word
 
3610
#
 
3611
# @cpuid-register: Output register containing the feature bits
 
3612
#
 
3613
# @features: value of output register, containing the feature bits
 
3614
#
 
3615
# Since: 1.5
 
3616
##
 
3617
{ 'type': 'X86CPUFeatureWordInfo',
 
3618
  'data': { 'cpuid-input-eax': 'int',
 
3619
            '*cpuid-input-ecx': 'int',
 
3620
            'cpuid-register': 'X86CPURegister32',
 
3621
            'features': 'int' } }