1. 09 2月, 2018 2 次提交
  2. 08 2月, 2018 1 次提交
  3. 07 2月, 2018 1 次提交
  4. 06 2月, 2018 1 次提交
  5. 30 1月, 2018 1 次提交
    • M
      tpm: add CRB device · 4ab6cb4c
      Marc-André Lureau 提交于
      tpm_crb is a device for TPM 2.0 Command Response Buffer (CRB)
      Interface as defined in TCG PC Client Platform TPM Profile (PTP)
      Specification Family “2.0” Level 00 Revision 01.03 v22.
      
      The PTP allows device implementation to switch between TIS and CRB
      model at run time, but given that CRB is a simpler device to
      implement, I chose to implement it as a different device.
      
      The device doesn't implement other locality than 0 for now (my laptop
      TPM doesn't either, so I assume this isn't so bad)
      
      Tested with some success with Linux upstream and Windows 10, seabios &
      modified ovmf. The device is recognized and correctly transmit
      command/response with passthrough & emu. However, we are missing PPI
      ACPI part atm.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      4ab6cb4c
  6. 29 1月, 2018 1 次提交
    • T
      net: Allow hubports to connect to other netdevs · 18d65d22
      Thomas Huth 提交于
      QEMU can emulate hubs to connect NICs and netdevs. This is currently
      primarily used for the mis-named 'vlan' feature of the networking
      subsystem. Now the 'vlan' feature has been marked as deprecated, since
      its name is rather confusing and the users often rather mis-configure
      their network when trying to use it. But while the 'vlan' parameter
      should be removed at one point in time, the basic idea of emulating
      a hub in QEMU is still good: It's useful for bundling up the output of
      multiple NICs into one single l2tp netdev for example.
      
      Now to be able to use the hubport feature without 'vlan's, there is one
      missing piece: The possibility to connect a hubport to a netdev, too.
      This patch adds this possibility by introducing a new "netdev=..."
      parameter to the hubports.
      
      To bundle up the output of multiple NICs into one socket netdev, you can
      now run QEMU with these parameters for example:
      
      qemu-system-ppc64 ... -netdev socket,id=s1,connect=:11122 \
          -netdev hubport,hubid=1,id=h1,netdev=s1 \
          -netdev hubport,hubid=1,id=h2 -device e1000,netdev=h2 \
          -netdev hubport,hubid=1,id=h3 -device virtio-net-pci,netdev=h3
      
      For using the socket netdev, you have got to start another QEMU as the
      receiving side first, for example with network dumping enabled:
      
      qemu-system-x86_64 -M isapc -netdev socket,id=s0,listen=:11122 \
          -device ne2k_isa,netdev=s0 \
          -object filter-dump,id=f1,netdev=s0,file=/tmp/dump.dat
      
      After the ppc64 guest tried to boot from both NICs, you can see in the
      dump file (using Wireshark, for example), that the output of both NICs
      (the e1000 and the virtio-net-pci) has been successfully transfered
      via the socket netdev in this case.
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      18d65d22
  7. 26 1月, 2018 2 次提交
  8. 23 1月, 2018 3 次提交
  9. 22 1月, 2018 1 次提交
  10. 15 1月, 2018 3 次提交
  11. 22 12月, 2017 1 次提交
  12. 19 12月, 2017 2 次提交
  13. 27 11月, 2017 1 次提交
    • K
      QAPI & interop: Clarify events emitted by 'block-job-cancel' · c117bb14
      Kashyap Chamarthy 提交于
      When you cancel an in-progress 'mirror' job (or "active `block-commit`")
      with QMP `block-job-cancel`, it emits the event: BLOCK_JOB_CANCELLED.
      However, when `block-job-cancel` is issued *after* `drive-mirror` has
      indicated (via the event BLOCK_JOB_READY) that the source and
      destination have reached synchronization:
      
          [...] # Snip `drive-mirror` invocation & outputs
          {
            "execute":"block-job-cancel",
            "arguments":{
              "device":"virtio0"
            }
          }
      
          {"return": {}}
      
      It (`block-job-cancel`) will counterintuitively emit the event
      'BLOCK_JOB_COMPLETED':
      
          {
            "timestamp":{
              "seconds":1510678024,
              "microseconds":526240
            },
            "event":"BLOCK_JOB_COMPLETED",
            "data":{
              "device":"virtio0",
              "len":41126400,
              "offset":41126400,
              "speed":0,
              "type":"mirror"
            }
          }
      
      But this is expected behaviour, where the _COMPLETED event indicates
      that synchronization has successfully ended (and the destination now has
      a point-in-time copy, which is at the time of cancel).
      
      So add a small note to this effect in 'block-core.json'.  While at it,
      also update the "Live disk synchronization -- drive-mirror and
      blockdev-mirror" section in 'live-block-operations.rst'.
      
      (Thanks: Max Reitz for reminding me of this caveat on IRC.)
      Signed-off-by: NKashyap Chamarthy <kchamart@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      c117bb14
  14. 22 11月, 2017 1 次提交
  15. 18 11月, 2017 1 次提交
  16. 17 11月, 2017 1 次提交
    • K
      block: Deprecate bdrv_set_read_only() and users · 398e6ad0
      Kevin Wolf 提交于
      bdrv_set_read_only() is used by some block drivers to override the
      read-only option given by the user. This is not how read-only images
      generally work in QEMU: Instead of second guessing what the user really
      meant (which currently includes making an image read-only even if the
      user didn't only use the default, but explicitly said read-only=off), we
      should error out if we can't provide what the user requested.
      
      This adds deprecation warnings to all callers of bdrv_set_read_only() so
      that the behaviour can be corrected after the usual deprecation period.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      398e6ad0
  17. 29 10月, 2017 1 次提交
  18. 24 10月, 2017 4 次提交
  19. 23 10月, 2017 1 次提交
    • D
      ui: normalize the 'sysrq' key into the 'print' key · 80b857f0
      Daniel P. Berrange 提交于
      The 'sysrq' key was mistakenly added to QEMU to deal with incorrect handling
      of the 'print' key in the ps2 device:
      
        commit f2289cb6
        Author: balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
        Date:   Wed Jun 4 10:14:16 2008 +0000
      
          Add sysrq to key names known by "sendkey".
      
          Adding sysrq keycode to the table enabling running sysrq debugging in
          the guest via the monitor sendkey command, like:
      
          (qemu) sendkey alt-sysrq-t
      
          Tested on x86-64 target and Linux guest.
      Signed-off-by: NRyan Harper <ryanh@us.ibm.com>
      
      The ps2 device is now fixed wrt modifiers and the 'print' key. Further the
      handling of the 'sysrq' key has some problems of its own, documented in the
      previous commit. To cleanup this mess, we convert any use of 'sysrq' into
      'print' prior to dispatching the event to device models.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20171019142848.572-9-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      80b857f0
  20. 13 10月, 2017 1 次提交
  21. 06 10月, 2017 1 次提交
  22. 02 10月, 2017 1 次提交
  23. 26 9月, 2017 1 次提交
  24. 22 9月, 2017 4 次提交
  25. 06 9月, 2017 2 次提交
    • M
      block: add throttle block filter driver · d8e7d87e
      Manos Pitsidianakis 提交于
      block/throttle.c uses existing I/O throttle infrastructure inside a
      block filter driver. I/O operations are intercepted in the filter's
      read/write coroutines, and referred to block/throttle-groups.c
      
      The driver can be used with the syntax
      -drive driver=throttle,file.filename=foo.qcow2,throttle-group=bar
      
      which registers the throttle filter node with the ThrottleGroup 'bar'. The
      given group must be created beforehand with object-add or -object.
      Reviewed-by: NAlberto Garcia <berto@igalia.com>
      Signed-off-by: NManos Pitsidianakis <el13635@mail.ntua.gr>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      d8e7d87e
    • M
      block: convert ThrottleGroup to object with QOM · 432d889e
      Manos Pitsidianakis 提交于
      ThrottleGroup is converted to an object. This will allow the future
      throttle block filter drive easy creation and configuration of throttle
      groups in QMP and cli.
      
      A new QAPI struct, ThrottleLimits, is introduced to provide a shared
      struct for all throttle configuration needs in QMP.
      
      ThrottleGroups can be created via CLI as
          -object throttle-group,id=foo,x-iops-total=100,x-..
      where x-* are individual limit properties. Since we can't add non-scalar
      properties in -object this interface must be used instead. However,
      setting these properties must be disabled after initialization because
      certain combinations of limits are forbidden and thus configuration
      changes should be done in one transaction. The individual properties
      will go away when support for non-scalar values in CLI is implemented
      and thus are marked as experimental.
      
      ThrottleGroup also has a `limits` property that uses the ThrottleLimits
      struct.  It can be used to create ThrottleGroups or set the
      configuration in existing groups as follows:
      
      { "execute": "object-add",
        "arguments": {
          "qom-type": "throttle-group",
          "id": "foo",
          "props" : {
            "limits": {
                "iops-total": 100
            }
          }
        }
      }
      { "execute" : "qom-set",
          "arguments" : {
              "path" : "foo",
              "property" : "limits",
              "value" : {
                  "iops-total" : 99
              }
          }
      }
      
      This also means a group's configuration can be fetched with qom-get.
      Signed-off-by: NManos Pitsidianakis <el13635@mail.ntua.gr>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NAlberto Garcia <berto@igalia.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      432d889e
  26. 04 9月, 2017 1 次提交