1. 15 6月, 2018 3 次提交
  2. 01 6月, 2018 1 次提交
  3. 31 5月, 2018 1 次提交
    • I
      cli: add --preconfig option · 047f7038
      Igor Mammedov 提交于
      This option allows pausing QEMU in the new RUN_STATE_PRECONFIG state,
      allowing the configuration of QEMU from QMP before the machine jumps
      into board initialization code of machine_run_board_init()
      
      The intent is to allow management to query machine state and additionally
      configure it using previous query results within one QEMU instance
      (i.e. eliminate the need to start QEMU twice, 1st to query board specific
      parameters and 2nd for actual VM start using query results for
      additional parameters).
      
      The new option complements -S option and could be used with or without
      it. The difference is that -S pauses QEMU when the machine is completely
      initialized with all devices wired up and ready to execute guest code
      (QEMU needs only to unpause VCPUs to let guest execute its code),
      while the "preconfig" option pauses QEMU early before board specific init
      callback (machine_run_board_init) is executed and allows the configuration
      of machine parameters which will be used by board init code.
      
      When early introspection/configuration is done, command 'exit-preconfig'
      should be used to exit RUN_STATE_PRECONFIG and transition to the next
      requested state (i.e. if -S is used then QEMU will pause the second
      time when board/device initialization is completed or start guest
      execution if -S isn't provided on CLI)
      
      PS:
      Initially 'preconfig' is planned to be used for configuring numa
      topology depending on board specified possible cpus layout.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1526059483-42847-1-git-send-email-imammedo@redhat.com>
      [ehabkost: Changed "since 2.13" to "since 3.0"]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      047f7038
  4. 14 5月, 2018 1 次提交
  5. 09 5月, 2018 4 次提交
  6. 27 4月, 2018 1 次提交
  7. 26 4月, 2018 1 次提交
  8. 06 4月, 2018 1 次提交
  9. 30 3月, 2018 1 次提交
    • T
      qemu-doc: Rework the network options chapter to make "-net" less prominent · abbbb035
      Thomas Huth 提交于
      "-net" is clearly a legacy option. Yet we still use it in almost all
      examples in the qemu documentation, and many other spots in the network
      chapter. We should make it less prominent that users are not lured into
      using it so often anymore. So instead of starting the network chapter with
      "-net nic" and documenting "-net <backend>" below "-netdev <backend>"
      everywhere, all the "-net" related documentation is now moved to the end
      of the chapter. The new "-nic" option is moved to the beginning of the
      chapter instead, with a new example that should demonstrate how "-nic"
      can be used to shortcut "-device" with "-netdev". The examples in this
      chapter are changed to use the "-device" and "-netdev" options or
      "-nic" instead of "-net nic -net <backend>".
      
      While we're at it, also remove a legacy remark about very old Linux
      distributions. Also remove the "[...]" from the examples in this chapter
      since we are not using this ellipsis in any other examples in our docu-
      mentation.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      abbbb035
  10. 20 3月, 2018 1 次提交
  11. 13 3月, 2018 2 次提交
  12. 06 3月, 2018 1 次提交
    • T
      balloon: Fix documentation of the --balloon parameter and deprecate it · 4060e671
      Thomas Huth 提交于
      There are two issues with the documentation of the --balloon parameter:
      First, "--balloon none" is simply doing nothing. Even if a machine had a
      balloon device by default, this option is not disabling anything, it is
      simply ignored. Thus let's simply drop this option from the documentation
      to avoid to confuse the users (but keep the code in vl.c for backward
      compatibility).
      Second, the documentation claims that "--balloon virtio" is the default
      mode, but this is not true anymore since commit 382f0743.
      Since that commit, the option also has no real use case anymore, since
      you can simply use "--device virtio-balloon" nowadays instead. Thus to
      simplify our complex parameter zoo a little bit, let's deprecate the
      the parameter now and tell the user to use "--device virtio-balloon"
      instead.
      
      Fixes: 382f0743Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1519796303-13257-1-git-send-email-thuth@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      4060e671
  13. 05 3月, 2018 3 次提交
  14. 02 3月, 2018 1 次提交
  15. 19 2月, 2018 1 次提交
    • M
      mem: add share parameter to memory-backend-ram · 06329cce
      Marcel Apfelbaum 提交于
      Currently only file backed memory backend can
      be created with a "share" flag in order to allow
      sharing guest RAM with other processes in the host.
      
      Add the "share" flag also to RAM Memory Backend
      in order to allow remapping parts of the guest RAM
      to different host virtual addresses. This is needed
      by the RDMA devices in order to remap non-contiguous
      QEMU virtual addresses to a contiguous virtual address range.
      
      Moved the "share" flag to the Host Memory base class,
      modified phys_mem_alloc to include the new parameter
      and a new interface memory_region_init_ram_shared_nomigrate.
      
      There are no functional changes if the new flag is not used.
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NMarcel Apfelbaum <marcel@redhat.com>
      06329cce
  16. 10 2月, 2018 1 次提交
  17. 07 2月, 2018 2 次提交
    • J
      Add the Windows Hypervisor Platform accelerator. · d661d9a4
      Justin Terry (VM) 提交于
      Introduces the configure support for the new Windows Hypervisor Platform that
      allows for hypervisor acceleration from usermode components on the Windows
      platform.
      Signed-off-by: NJustin Terry (VM) <juterry@microsoft.com>
      Message-Id: <1516655269-1785-2-git-send-email-juterry@microsoft.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d661d9a4
    • M
      Add memfd based hostmem · dbb9e0f4
      Marc-André Lureau 提交于
      Add a new memory backend, similar to hostmem-file, except that it
      doesn't need to create files. It also enforces memory sealing.
      
      This backend is mainly useful for sharing the memory with other
      processes.
      
      Note that Linux supports transparent huge-pages of shmem/memfd memory
      since 4.8. It is relatively easier to set up THP than a dedicate
      hugepage mount point by using "madvise" in
      /sys/kernel/mm/transparent_hugepage/shmem_enabled.
      
      Since 4.14, memfd allows to set hugetlb requirement explicitly.
      
      Pending for merge in 4.16 is memfd sealing support for hugetlb backed
      memory.
      
      Usage:
      -object memory-backend-memfd,id=mem1,size=1G
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180201132757.23063-5-marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      dbb9e0f4
  18. 29 1月, 2018 2 次提交
    • T
      qemu-doc: Get rid of "vlan=X" example in the documentation · 74f78b99
      Thomas Huth 提交于
      The vlan concept is marked as deprecated, so we should not use
      this for examples in the documentation anymore.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      74f78b99
    • 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
  19. 26 1月, 2018 1 次提交
    • T
      usb: Remove legacy -usbdevice options (host, serial, disk and net) · 99761176
      Thomas Huth 提交于
      The option have been marked as deprecated since QEMU 2.10, and so far
      nobody complained that the host, serial, disk and net options are urgently
      required anymore. So let's now get rid at least of this legacy pile, to
      simplify the usb code quite a bit.
      
      This patch removes the usbdevices host, serial, disk and net. These devices
      use their own complicated parameter parsing mechanisms, so they are just
      ugly to maintain, without real benefit for the users (the users can use the
      corresponding "-device" parameters instead which have the same complexity
      as the "-usbdevice" devices here).
      
      Note that the other rather simple -usbdevice options (mouse, tablet, etc.)
      are not removed yet (the code is really simple here, so it does not hurt
      much to keep it), as well as the two devices "braille" and "bt" which are
      easier to use with -usbdevice than with -device.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-id: 1515519171-20315-1-git-send-email-thuth@redhat.com
      
      [kraxel] delete some usb_host_device_open() leftovers.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      99761176
  20. 19 1月, 2018 4 次提交
  21. 22 12月, 2017 3 次提交
    • T
      block: Remove the deprecated -hdachs option · d1cdd92e
      Thomas Huth 提交于
      It's been marked as deprecated since QEMU v2.10.0, and so far nobody
      complained that we should keep it, so let's remove this legacy option
      now to simplify the code quite a bit.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      d1cdd92e
    • S
      i386: hvf: add code base from Google's QEMU repository · c97d6d2c
      Sergio Andres Gomez Del Real 提交于
      This file begins tracking the files that will be the code base for HVF
      support in QEMU. This code base is part of Google's QEMU version of
      their Android emulator, and can be found at
      https://android.googlesource.com/platform/external/qemu/+/emu-master-dev
      
      This code is based on Veertu Inc's vdhh (Veertu Desktop Hosted
      Hypervisor), found at https://github.com/veertuinc/vdhh. Everything is
      appropriately licensed under GPL v2-or-later, except for the code inside
      x86_task.c and x86_task.h, which, deriving from KVM (the Linux kernel),
      is licensed GPL v2-only.
      
      This code base already implements a very great deal of functionality,
      although Google's version removed from Vertuu's the support for APIC
      page and hyperv-related stuff. According to the Android Emulator Release
      Notes, Revision 26.1.3 (August 2017), "Hypervisor.framework is now
      enabled by default on macOS for 32-bit x86 images to improve performance
      and macOS compatibility", although we better use with caution for, as the
      same Revision warns us, "If you experience issues with it specifically,
      please file a bug report...". The code hasn't seen much update in the
      last 5 months, so I think that we can further develop the code with
      occasional visiting Google's repository to see if there has been any
      update.
      
      On top of Google's code, the following changes were made:
      
      - add code to the configure script to support the --enable-hvf argument.
      If the OS is Darwin, it checks for presence of HVF in the system. The
      patch also adds strings related to HVF in the file qemu-options.hx.
      QEMU will only support the modern syntax style '-M accel=hvf' no enable
      hvf; the legacy '-enable-hvf' will not be supported.
      
      - fix styling issues
      
      - add glue code to cpus.c
      
      - move HVFX86EmulatorState field to CPUX86State, changing the
      the emulation functions to have a parameter with signature 'CPUX86State *'
      instead of 'CPUState *' so we don't have to get the 'env'.
      Signed-off-by: NSergio Andres Gomez Del Real <Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-2-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-3-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-5-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170913090522.4022-6-Sergio.G.DelReal@gmail.com>
      Message-Id: <20170905035457.3753-7-Sergio.G.DelReal@gmail.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      c97d6d2c
    • T
      qemu-doc: The "-net nic" option can be used with "netdev=...", too · 0e60a82d
      Thomas Huth 提交于
      Looks like we missed to document that it is also possible to specify
      a netdev with "-net nic" - which is very useful if you want to
      configure your on-board NIC to use a backend that has been specified
      with "-netdev".
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      0e60a82d
  22. 21 12月, 2017 1 次提交
  23. 20 12月, 2017 3 次提交