1. 21 1月, 2019 17 次提交
  2. 18 1月, 2019 1 次提交
  3. 14 1月, 2019 5 次提交
    • V
      i386/kvm: add a comment explaining why .feat_names are commented out for Hyper-V feature bits · abd5fc4c
      Vitaly Kuznetsov 提交于
      Hyper-V .feat_names are, unlike hardware features, commented out and it is
      not obvious why we do that. Document the current status quo.
      Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Message-Id: <20181221141604.16935-1-vkuznets@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      abd5fc4c
    • E
      x86: host-phys-bits-limit option · 258fe08b
      Eduardo Habkost 提交于
      Some downstream distributions of QEMU set host-phys-bits=on by
      default.  This worked very well for most use cases, because
      phys-bits really didn't have huge consequences. The only
      difference was on the CPUID data seen by guests, and on the
      handling of reserved bits.
      
      This changed in KVM commit 855feb673640 ("KVM: MMU: Add 5 level
      EPT & Shadow page table support").  Now choosing a large
      phys-bits value for a VM has bigger impact: it will make KVM use
      5-level EPT even when it's not really necessary.  This means
      using the host phys-bits value may not be the best choice.
      
      Management software could address this problem by manually
      configuring phys-bits depending on the size of the VM and the
      amount of MMIO address space required for hotplug.  But this is
      not trivial to implement.
      
      However, there's another workaround that would work for most
      cases: keep using the host phys-bits value, but only if it's
      smaller than 48.  This patch makes this possible by introducing a
      new "-cpu" option: "host-phys-bits-limit".  Management software
      or users can make sure they will always use 4-level EPT using:
      "host-phys-bits=on,host-phys-bits-limit=48".
      
      This behavior is still not enabled by default because QEMU
      doesn't enable host-phys-bits=on by default.  But users,
      management software, or downstream distributions may choose to
      change their defaults using the new option.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <20181211192527.13254-1-ehabkost@redhat.com>
      [ehabkost: removed test code while some issues are addressed]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      258fe08b
    • P
      target/i386: Disable MPX support on named CPU models · ecb85fe4
      Paolo Bonzini 提交于
      MPX support is being phased out by Intel; GCC has dropped it, Linux
      is also going to do that.  Even though KVM will have special code
      to support MPX after the kernel proper stops enabling it in XCR0,
      we probably also want to deprecate that in a few years.  As a start,
      do not enable it by default for any named CPU model starting with
      the 4.0 machine types; this include Skylake, Icelake and Cascadelake.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <20181220121100.21554-1-pbonzini@redhat.com>
      Reviewed-by: N  Wainer dos Santos Moschetta <wainersm@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      ecb85fe4
    • B
      target-i386: Reenable RDTSCP support on Opteron_G[345] CPU models CPU models · 483c6ad4
      Borislav Petkov 提交于
      The missing functionality was added ~3 years ago with the Linux commit
      
        46896c73c1a4 ("KVM: svm: add support for RDTSCP")
      
      so reenable RDTSCP support on those CPU models.
      
      Opteron_G2 - being family 15, model 6, doesn't have RDTSCP support
      (the real hardware doesn't have it. K8 got RDTSCP support with the NPT
      models, i.e., models >= 0x40).
      
      Document the host's minimum required kernel version, while at it.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Message-ID: <20181212200803.GG6653@zn.tnic>
      [ehabkost: moved compat properties code to pc.c]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      483c6ad4
    • V
      i386/kvm: expose HV_CPUID_ENLIGHTMENT_INFO.EAX and HV_CPUID_NESTED_FEATURES.EAX as feature words · a2b107db
      Vitaly Kuznetsov 提交于
      It was found that QMP users of QEMU (e.g. libvirt) may need
      HV_CPUID_ENLIGHTMENT_INFO.EAX/HV_CPUID_NESTED_FEATURES.EAX information. In
      particular, 'hv_tlbflush' and 'hv_evmcs' enlightenments are only exposed in
      HV_CPUID_ENLIGHTMENT_INFO.EAX.
      
      HV_CPUID_NESTED_FEATURES.EAX is exposed for two reasons: convenience
      (we don't need to export it from hyperv_handle_properties() and as
      future-proof for Enlightened MSR-Bitmap, PV EPT invalidation and
      direct virtual flush features.
      Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Message-Id: <20181126135958.20956-1-vkuznets@redhat.com>
      Reviewed-by: NRoman Kagan <rkagan@virtuozzo.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      a2b107db
  4. 11 1月, 2019 3 次提交
    • P
      avoid TABs in files that only contain a few · 7d37435b
      Paolo Bonzini 提交于
      Most files that have TABs only contain a handful of them.  Change
      them to spaces so that we don't confuse people.
      
      disas, standard-headers, linux-headers and libdecnumber are imported
      from other projects and probably should be exempted from the check.
      Outside those, after this patch the following files still contain both
      8-space and TAB sequences at the beginning of the line.  Many of them
      have a majority of TABs, or were initially committed with all tabs.
      
          bsd-user/i386/target_syscall.h
          bsd-user/x86_64/target_syscall.h
          crypto/aes.c
          hw/audio/fmopl.c
          hw/audio/fmopl.h
          hw/block/tc58128.c
          hw/display/cirrus_vga.c
          hw/display/xenfb.c
          hw/dma/etraxfs_dma.c
          hw/intc/sh_intc.c
          hw/misc/mst_fpga.c
          hw/net/pcnet.c
          hw/sh4/sh7750.c
          hw/timer/m48t59.c
          hw/timer/sh_timer.c
          include/crypto/aes.h
          include/disas/bfd.h
          include/hw/sh4/sh.h
          libdecnumber/decNumber.c
          linux-headers/asm-generic/unistd.h
          linux-headers/linux/kvm.h
          linux-user/alpha/target_syscall.h
          linux-user/arm/nwfpe/double_cpdo.c
          linux-user/arm/nwfpe/fpa11_cpdt.c
          linux-user/arm/nwfpe/fpa11_cprt.c
          linux-user/arm/nwfpe/fpa11.h
          linux-user/flat.h
          linux-user/flatload.c
          linux-user/i386/target_syscall.h
          linux-user/ppc/target_syscall.h
          linux-user/sparc/target_syscall.h
          linux-user/syscall.c
          linux-user/syscall_defs.h
          linux-user/x86_64/target_syscall.h
          slirp/cksum.c
          slirp/if.c
          slirp/ip.h
          slirp/ip_icmp.c
          slirp/ip_icmp.h
          slirp/ip_input.c
          slirp/ip_output.c
          slirp/mbuf.c
          slirp/misc.c
          slirp/sbuf.c
          slirp/socket.c
          slirp/socket.h
          slirp/tcp_input.c
          slirp/tcpip.h
          slirp/tcp_output.c
          slirp/tcp_subr.c
          slirp/tcp_timer.c
          slirp/tftp.c
          slirp/udp.c
          slirp/udp.h
          target/cris/cpu.h
          target/cris/mmu.c
          target/cris/op_helper.c
          target/sh4/helper.c
          target/sh4/op_helper.c
          target/sh4/translate.c
          tcg/sparc/tcg-target.inc.c
          tests/tcg/cris/check_addo.c
          tests/tcg/cris/check_moveq.c
          tests/tcg/cris/check_swap.c
          tests/tcg/multiarch/test-mmap.c
          ui/vnc-enc-hextile-template.h
          ui/vnc-enc-zywrle.h
          util/envlist.c
          util/readline.c
      
      The following have only TABs:
      
          bsd-user/i386/target_signal.h
          bsd-user/sparc64/target_signal.h
          bsd-user/sparc64/target_syscall.h
          bsd-user/sparc/target_signal.h
          bsd-user/sparc/target_syscall.h
          bsd-user/x86_64/target_signal.h
          crypto/desrfb.c
          hw/audio/intel-hda-defs.h
          hw/core/uboot_image.h
          hw/sh4/sh7750_regnames.c
          hw/sh4/sh7750_regs.h
          include/hw/cris/etraxfs_dma.h
          linux-user/alpha/termbits.h
          linux-user/arm/nwfpe/fpopcode.h
          linux-user/arm/nwfpe/fpsr.h
          linux-user/arm/syscall_nr.h
          linux-user/arm/target_signal.h
          linux-user/cris/target_signal.h
          linux-user/i386/target_signal.h
          linux-user/linux_loop.h
          linux-user/m68k/target_signal.h
          linux-user/microblaze/target_signal.h
          linux-user/mips64/target_signal.h
          linux-user/mips/target_signal.h
          linux-user/mips/target_syscall.h
          linux-user/mips/termbits.h
          linux-user/ppc/target_signal.h
          linux-user/sh4/target_signal.h
          linux-user/sh4/termbits.h
          linux-user/sparc64/target_syscall.h
          linux-user/sparc/target_signal.h
          linux-user/x86_64/target_signal.h
          linux-user/x86_64/termbits.h
          pc-bios/optionrom/optionrom.h
          slirp/mbuf.h
          slirp/misc.h
          slirp/sbuf.h
          slirp/tcp.h
          slirp/tcp_timer.h
          slirp/tcp_var.h
          target/i386/svm.h
          target/sparc/asi.h
          target/xtensa/core-dc232b/xtensa-modules.inc.c
          target/xtensa/core-dc233c/xtensa-modules.inc.c
          target/xtensa/core-de212/core-isa.h
          target/xtensa/core-de212/xtensa-modules.inc.c
          target/xtensa/core-fsf/xtensa-modules.inc.c
          target/xtensa/core-sample_controller/core-isa.h
          target/xtensa/core-sample_controller/xtensa-modules.inc.c
          target/xtensa/core-test_kc705_be/core-isa.h
          target/xtensa/core-test_kc705_be/xtensa-modules.inc.c
          tests/tcg/cris/check_abs.c
          tests/tcg/cris/check_addc.c
          tests/tcg/cris/check_addcm.c
          tests/tcg/cris/check_addoq.c
          tests/tcg/cris/check_bound.c
          tests/tcg/cris/check_ftag.c
          tests/tcg/cris/check_int64.c
          tests/tcg/cris/check_lz.c
          tests/tcg/cris/check_openpf5.c
          tests/tcg/cris/check_sigalrm.c
          tests/tcg/cris/crisutils.h
          tests/tcg/cris/sys.c
          tests/tcg/i386/test-i386-ssse3.c
          ui/vgafont.h
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <20181213223737.11793-3-pbonzini@redhat.com>
      Reviewed-by: NAleksandar Markovic <amarkovic@wavecomp.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NWainer dos Santos Moschetta <wainersm@redhat.com>
      Acked-by: NRichard Henderson <richard.henderson@linaro.org>
      Acked-by: NEric Blake <eblake@redhat.com>
      Acked-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Reviewed-by: NStefan Markovic <smarkovic@wavecomp.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7d37435b
    • P
      qemu/queue.h: leave head structs anonymous unless necessary · b58deb34
      Paolo Bonzini 提交于
      Most list head structs need not be given a name.  In most cases the
      name is given just in case one is going to use QTAILQ_LAST, QTAILQ_PREV
      or reverse iteration, but this does not apply to lists of other kinds,
      and even for QTAILQ in practice this is only rarely needed.  In addition,
      we will soon reimplement those macros completely so that they do not
      need a name for the head struct.  So clean up everything, not giving a
      name except in the rare case where it is necessary.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b58deb34
    • A
      hax: Support for Linux hosts · b65cc8de
      Alexandro Sanchez Bach 提交于
      Intel HAXM supports now 32-bit and 64-bit Linux hosts. This patch includes
      the corresponding userland changes.
      
      Since the Darwin userland backend is POSIX-compliant, the hax-darwin.{c,h}
      files have been renamed to hax-posix.{c,h}. This prefix is consistent with
      the naming used in the rest of QEMU.
      Signed-off-by: NAlexandro Sanchez Bach <asanchez@kryptoslogic.com>
      Message-Id: <20181115013331.65820-1-asanchez@kryptoslogic.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b65cc8de
  5. 10 1月, 2019 2 次提交
  6. 09 1月, 2019 12 次提交