1. 06 Apr, 2018 1 commit
  2. 30 Mar, 2018 1 commit
    • Thomas Huth's avatar
      qemu-doc: Rework the network options chapter to make "-net" less prominent · abbbb035
      Thomas Huth authored
      "-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: 's avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: 's avatarJason Wang <jasowang@redhat.com>
      abbbb035
  3. 19 Mar, 2018 1 commit
  4. 13 Mar, 2018 2 commits
  5. 06 Mar, 2018 1 commit
    • Thomas Huth's avatar
      balloon: Fix documentation of the --balloon parameter and deprecate it · 4060e671
      Thomas Huth authored
      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: 's avatarThomas Huth <thuth@redhat.com>
      Message-Id: <1519796303-13257-1-git-send-email-thuth@redhat.com>
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      4060e671
  6. 05 Mar, 2018 3 commits
  7. 01 Mar, 2018 1 commit
  8. 19 Feb, 2018 1 commit
    • Marcel Apfelbaum's avatar
      mem: add share parameter to memory-backend-ram · 06329cce
      Marcel Apfelbaum authored
      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: 's avatarEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: 's avatarMarcel Apfelbaum <marcel@redhat.com>
      06329cce
  9. 10 Feb, 2018 1 commit
  10. 07 Feb, 2018 2 commits
    • Justin Terry (VM)'s avatar
      Add the Windows Hypervisor Platform accelerator. · d661d9a4
      Justin Terry (VM) authored
      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: 's avatarJustin Terry (VM) <juterry@microsoft.com>
      Message-Id: <1516655269-1785-2-git-send-email-juterry@microsoft.com>
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      d661d9a4
    • Marc-André Lureau's avatar
      Add memfd based hostmem · dbb9e0f4
      Marc-André Lureau authored
      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: 's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20180201132757.23063-5-marcandre.lureau@redhat.com>
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      dbb9e0f4
  11. 29 Jan, 2018 2 commits
    • Thomas Huth's avatar
      qemu-doc: Get rid of "vlan=X" example in the documentation · 74f78b99
      Thomas Huth authored
      The vlan concept is marked as deprecated, so we should not use
      this for examples in the documentation anymore.
      Signed-off-by: 's avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: 's avatarJason Wang <jasowang@redhat.com>
      74f78b99
    • Thomas Huth's avatar
      net: Allow hubports to connect to other netdevs · 18d65d22
      Thomas Huth authored
      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: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: 's avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: 's avatarJason Wang <jasowang@redhat.com>
      18d65d22
  12. 26 Jan, 2018 1 commit
    • Thomas Huth's avatar
      usb: Remove legacy -usbdevice options (host, serial, disk and net) · 99761176
      Thomas Huth authored
      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: 's avatarThomas 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: 's avatarGerd Hoffmann <kraxel@redhat.com>
      99761176
  13. 19 Jan, 2018 4 commits
  14. 22 Dec, 2017 3 commits
    • Thomas Huth's avatar
      block: Remove the deprecated -hdachs option · d1cdd92e
      Thomas Huth authored
      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: 's avatarThomas Huth <thuth@redhat.com>
      Reviewed-by: 's avatarJohn Snow <jsnow@redhat.com>
      Reviewed-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: 's avatarKevin Wolf <kwolf@redhat.com>
      d1cdd92e
    • Sergio Andres Gomez Del Real's avatar
      i386: hvf: add code base from Google's QEMU repository · c97d6d2c
      Sergio Andres Gomez Del Real authored
      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: 's avatarSergio 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: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      c97d6d2c
    • Thomas Huth's avatar
      qemu-doc: The "-net nic" option can be used with "netdev=...", too · 0e60a82d
      Thomas Huth authored
      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: 's avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: 's avatarJason Wang <jasowang@redhat.com>
      0e60a82d
  15. 21 Dec, 2017 1 commit
  16. 20 Dec, 2017 8 commits
  17. 18 Dec, 2017 1 commit
  18. 14 Dec, 2017 1 commit
  19. 27 Nov, 2017 1 commit
  20. 20 Nov, 2017 1 commit
    • Jason Wang's avatar
      Revert "Add new PCI ID for i82559a" · 2ec40552
      Jason Wang authored
      This reverts commit 5e89dc01 since:
      
      - we should use ID in the spec instead the one used by OEM
      - in the future, we should allow changing id through either property
        or EEPROM file.
      
      Cc: Stefan Weil <sw@weilnetz.de>
      Cc: Michael Nawrocki <michael.nawrocki@gtri.gatech.edu>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Reviewed-by: 's avatarStefan Weil <sw@weilnetz.de>
      Signed-off-by: 's avatarJason Wang <jasowang@redhat.com>
      2ec40552
  21. 13 Nov, 2017 1 commit
  22. 13 Oct, 2017 1 commit
  23. 10 Oct, 2017 1 commit