Skip to content
Snippets Groups Projects
  1. Jun 30, 2023
  2. Jun 29, 2023
    • Richard Henderson's avatar
      Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging · 4d541f63
      Richard Henderson authored
      * Make named CPU models usable for qemu-{i386,x86_64}
      * Fix backwards time with -icount auto
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmSdRiQUHHBib256aW5p
      # QHJlZGhhdC5jb20ACgkQv/vSX3jHroOqcwf9FGAqZ+0V34Y8XeXMu8Es3bFjEKG8
      # t3BpVNhTBOYDPvpshnPVx2I29nRT2opc1C4YkjMAv5/1nivj1kDM7hDObOSJQvqy
      # 5FgTsJYqRtGj+J7uVBrspWZsP8BYeykKmXR6deBOPvCuw5nnLdDQ3dLV2F26lKUu
      # lsFyEVbi4dzf8+TVuNIXEg7mVBYytjBQwBmmHgeOofeikjq9WEudr49mwJMCHyzl
      # iXCatnctXGKZYSnp+eHIBiFRdSzjqdgrDRa0ysSqABoBI1pmkhyQKSay6cSjfG4n
      # gFlqPF/i9RqAWpsQrM1IMGgPK39SrT2dYlHDJV2P/NEQrS6kLh2HoW/ArQ==
      # =oj3B
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Thu 29 Jun 2023 10:51:48 AM CEST
      # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
      # gpg:                issuer "pbonzini@redhat.com"
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined]
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [undefined]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * tag 'for-upstream' of https://gitlab.com/bonzini/qemu
      
      :
        target/i386: emulate 64-bit ring 0 for linux-user if LM feature is set
        target/i386: ignore CPL0-specific features in user mode emulation
        target/i386: ignore ARCH_CAPABILITIES features in user mode emulation
        target/i386: Export MSR_ARCH_CAPABILITIES bits to guests
        icount: don't adjust virtual time backwards after warp
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      4d541f63
    • Paolo Bonzini's avatar
      target/i386: emulate 64-bit ring 0 for linux-user if LM feature is set · 40a205da
      Paolo Bonzini authored
      32-bit binaries can run on a long mode processor even if the kernel
      is 64-bit, of course, and this can have slightly different behavior;
      for example, SYSCALL is allowed on Intel processors.
      
      Allow reporting LM to programs running under user mode emulation,
      so that "-cpu" can be used with named CPU models even for qemu-i386
      and even without disabling LM by hand.
      
      Fortunately, most of the runtime code in QEMU has to depend on HF_LMA_MASK
      or on HF_CS64_MASK (which is anyway false for qemu-i386's 32-bit code
      segment) rather than TARGET_X86_64, therefore all that is needed is an
      update of linux-user's ring 0 setup.
      
      Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1534
      
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      40a205da
    • Paolo Bonzini's avatar
      target/i386: ignore CPL0-specific features in user mode emulation · d903259d
      Paolo Bonzini authored
      Features such as PCID are only accessible through privileged operations,
      and therefore have no impact on any user-mode operation.  Allow reporting
      them to programs running under user mode emulation, so that "-cpu" can be
      used with more named CPU models.
      
      XSAVES would be similar, but it doesn't make sense to provide it until
      XSAVEC is implemented.
      
      With this change, all CPUs up to Broadwell-v4 can be emulate.  Skylake-Client
      requires XSAVEC, while EPYC also requires SHA-NI, MISALIGNSSE and TOPOEXT.
      MISALIGNSSE is not hard to implement, but I am not sure it is worth using
      a precious hflags bit for it.
      
      Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1534
      
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      d903259d
    • Paolo Bonzini's avatar
      target/i386: ignore ARCH_CAPABILITIES features in user mode emulation · 9fb4f5f5
      Paolo Bonzini authored
      
      ARCH_CAPABILITIES is only accessible through a read-only MSR, so it has
      no impact on any user-mode operation (user-mode cannot read the MSR).
      So do not bother printing warnings about it in user mode emulation.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9fb4f5f5
    • Pawan Gupta's avatar
      target/i386: Export MSR_ARCH_CAPABILITIES bits to guests · 5bef742c
      Pawan Gupta authored
      
      On Intel CPUs there are certain bits in MSR_ARCH_CAPABILITIES that
      indicates if the CPU is not affected by a vulnerability. Without these
      bits guests may try to deploy the mitigation even if the CPU is not
      affected.
      
      Export the bits to guests that indicate immunity to hardware
      vulnerabilities.
      
      Signed-off-by: default avatarPawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Message-ID: <63d85cc76d4cdc51e6c732478b81d8f13be11e5a.1687551881.git.pawan.kumar.gupta@linux.intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      5bef742c
    • Richard Henderson's avatar
      Merge tag 'accel-20230628' of https://github.com/philmd/qemu into staging · 017b2e73
      Richard Henderson authored
      Accelerators patches
      
      - MAINTAINERS: Update Roman Bolshakov email address
      - HAX: Fix a memory leak
      - HAX/NVMM/WHPX/HVF: Rename per-accel state as AccelCPUState
      - KVM: Restrict specific fields from ArchCPU
      - WHPX: Re-enable cross-build gitlab-ci job on case sensitive filesystems
      - WHPX: Fix error message when setting ProcessorCount fails
      - exec/memory: Add definitions for memory listener priorities
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmScVtkACgkQ4+MsLN6t
      # wN7p8A//RXuX9gLFT35zx+5axocU3/XBbCsQWSvzzkYoXxmC/TLxvivO66NPGMc0
      # C76b1FJUoLS/u9SyJUeIeYkL0rjkzARUKcRpiJXM21WM6ou8Nkz0kuI4ouowt+4K
      # i/4chTjxlN5/4PKlHHcX9ZUJ9acVj01zO1BCuj/bVsxO6WMT1kjL+kplVxxFR3aW
      # tlbYtUT3v4xmp94FfE2Q9lR25z4usrGnmz2rchaadlVc43kmsNcQRx+EoUdi148n
      # lkViRR90sacYPX586s2yxhPpUdtrXjJmEdX0X00urdPqljkRxekHtyTqG4CRZi+K
      # hG5NztK7p37GNNXZroL0gpHyr9IX6hZ3o8rmN3IiCOGU6BgQBRUhvvG2sblwcJ1A
      # SSiBK4RWtgyIGWt4U6PgVj8IAu55JuqT5xR2r34fH/zccxXlp/B13vadGs7TUK15
      # oHDUT4GnKL2R29lVFTl95BzsxwaMtbB9w01CLJk8va2T/97eqtFgvJyuVC9vZb0N
      # 41u2RkinaQZ+hbq9TP1G21zpG0eyucEMIQ6loUd7+G3KJFjFfB4JzE2VDm0Y/OVy
      # 77cEEQ67wts29fMNSqqPIQCMttDrNj7JqMMknGBQS2iHPgF+B3KjwIjnRaMBt73I
      # CKPITOJPmb+kvIUsK3KlONdicEG57cBxFBTZW5+P9pJXF5izrAY=
      # =b9hj
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 28 Jun 2023 05:50:49 PM CEST
      # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
      # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
      
      * tag 'accel-20230628' of https://github.com/philmd/qemu
      
      : (30 commits)
        exec/memory: Add symbol for the min value of memory listener priority
        exec/memory: Add symbol for memory listener priority for device backend
        exec/memory: Add symbolic value for memory listener priority for accel
        target/i386/WHPX: Fix error message when fail to set ProcessorCount
        target/riscv: Restrict KVM-specific fields from ArchCPU
        target/ppc: Restrict KVM-specific fields from ArchCPU
        target/arm: Restrict KVM-specific fields from ArchCPU
        hw/arm/sbsa-ref: Include missing 'sysemu/kvm.h' header
        hw/intc/arm_gic: Rename 'first_cpu' argument
        hw/intc/arm_gic: Un-inline GIC*/ITS class_name() helpers
        accel/kvm: Declare kvm_direct_msi_allowed in stubs
        accel/kvm: Re-include "exec/memattrs.h" header
        accel: Rename HVF 'struct hvf_vcpu_state' -> AccelCPUState
        accel: Rename 'cpu_state' -> 'cs'
        accel: Inline WHPX get_whpx_vcpu()
        accel: Rename WHPX 'struct whpx_vcpu' -> AccelCPUState
        accel: Remove WHPX unreachable error path
        accel: Inline NVMM get_qemu_vcpu()
        accel: Rename NVMM 'struct qemu_vcpu' -> AccelCPUState
        accel: Remove NVMM unreachable error path
        ...
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      017b2e73
  3. Jun 28, 2023
Loading