qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 69e389: target/i386: add missing bits to CR4_


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 69e389: target/i386: add missing bits to CR4_RESERVED_MASK
Date: Mon, 13 Sep 2021 09:58:34 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 69e3895f9d37ca39536775b13ce63e8c291427ba
      
https://github.com/qemu/qemu/commit/69e3895f9d37ca39536775b13ce63e8c291427ba
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: add missing bits to CR4_RESERVED_MASK

Booting Fedora kernels with -cpu max hangs very early in boot. Disabling
the la57 CPUID bit fixes the problem. git bisect traced the regression to

  commit 213ff024a2f92020290296cb9dc29c2af3d4a221 (HEAD, refs/bisect/bad)
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   Wed Jul 21 17:26:50 2021 +0200

    target/i386: Added consistency checks for CR4

    All MBZ bits in CR4 must be zero. (APM2 15.5)
    Added reserved bitmask and added checks in both
    helper_vmrun and helper_write_crN.

    Signed-off-by: Lara Lazier <laramglazier@gmail.com>
    Message-Id: <20210721152651.14683-2-laramglazier@gmail.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

In this commit CR4_RESERVED_MASK is missing CR4_LA57_MASK and
two others. Adding this lets Fedora kernels boot once again.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Tested-by: Richard W.M. Jones <rjones@redhat.com>
Message-Id: <20210831175033.175584-1-berrange@redhat.com>
[Removed VMXE/SMXE, matching the commit message. - Paolo]
Fixes: 213ff024a2 ("target/i386: Added consistency checks for CR4", 2021-07-22)
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 97afb47e1509198bed58498358adc9b0fe6b0d75
      
https://github.com/qemu/qemu/commit/97afb47e1509198bed58498358adc9b0fe6b0d75
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: VMRUN and VMLOAD canonicalizations

APM2 requires that VMRUN and VMLOAD canonicalize (sign extend to 63
from 48/57) all base addresses in the segment registers that have been
respectively loaded.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Message-Id: <20210804113058.45186-1-laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 900eeca579a87011b701e523b15069e9d23b19cf
      
https://github.com/qemu/qemu/commit/900eeca579a87011b701e523b15069e9d23b19cf
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/svm.h
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added VGIF feature

VGIF allows STGI and CLGI to execute in guest mode and control virtual
interrupts in guest mode.
When the VGIF feature is enabled then:
 * executing STGI in the guest sets bit 9 of the VMCB offset 60h.
 * executing CLGI in the guest clears bit 9 of the VMCB offset 60h.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Message-Id: <20210730070742.9674-1-laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e3126a5c92913b2a7e06111c8f40af3596880302
      
https://github.com/qemu/qemu/commit/e3126a5c92913b2a7e06111c8f40af3596880302
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/machine.c
    M target/i386/tcg/seg_helper.c
    M target/i386/tcg/sysemu/misc_helper.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Moved int_ctl into CPUX86State structure

Moved int_ctl into the CPUX86State structure.  It removes some
unnecessary stores and loads, and prepares for tracking the vIRQ
state even when it is masked due to vGIF.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b67e2796a132f912533a879a4fbe6acad4cbac1e
      
https://github.com/qemu/qemu/commit/b67e2796a132f912533a879a4fbe6acad4cbac1e
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added VGIF V_IRQ masking capability

VGIF provides masking capability for when virtual interrupts
are taken. (APM2)

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 66a0201ba7a3143689014eb711a5942babca2585
      
https://github.com/qemu/qemu/commit/66a0201ba7a3143689014eb711a5942babca2585
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added ignore TPR check in ctl_has_irq

The APM2 states that if V_IGN_TPR is nonzero, the current
virtual interrupt ignores the (virtual) TPR.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7760bb069f11fb4259c76c05c69a0d254b5d8a10
      
https://github.com/qemu/qemu/commit/7760bb069f11fb4259c76c05c69a0d254b5d8a10
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/misc_helper.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added changed priority check for VIRQ

Writes to cr8 affect v_tpr. This could set or unset an interrupt
request as the priority might have changed.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 52fb8ad37aab791640174048b3d90ce9a576af63
      
https://github.com/qemu/qemu/commit/52fb8ad37aab791640174048b3d90ce9a576af63
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/svm.h
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added vVMLOAD and vVMSAVE feature

The feature allows the VMSAVE and VMLOAD instructions to execute in guest mode 
without
causing a VMEXIT. (APM2 15.33.1)

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8a1f7d299c75468af0f761ae9382b129be9d5774
      
https://github.com/qemu/qemu/commit/8a1f7d299c75468af0f761ae9382b129be9d5774
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/index.rst
    M docs/system/qemu-block-drivers.rst
    M docs/system/qemu-cpu-models.rst
    M docs/system/qemu-manpage.rst
    M docs/tools/qemu-img.rst
    M docs/tools/qemu-nbd.rst
    M docs/tools/qemu-pr-helper.rst
    M docs/tools/qemu-storage-daemon.rst
    M docs/tools/qemu-trace-stap.rst

  Log Message:
  -----------
  docs: standardize book titles to === with overline

Documents within a Sphinx manual are separate files and therefore can use
different conventions for headings.  However, keeping some consistency is
useful so that included files are easy to get right.

This patch uses a standard heading format for book titles, so that it is
obvious when a file sits at the top level toctree of a book or man page.
The heading is irrelevant for man pages, but keep it consistent as well.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 06905f640242c927f07e8c4b45fd4061ffa235ef
      
https://github.com/qemu/qemu/commit/06905f640242c927f07e8c4b45fd4061ffa235ef
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/about/index.rst
    M docs/devel/index.rst
    M docs/interop/index.rst
    M docs/specs/index.rst
    M docs/system/index.rst
    M docs/tools/index.rst
    M docs/user/index.rst

  Log Message:
  -----------
  docs: standardize directory index to --- with overline

Use a standard heading format for the index.rst file in a directory.
Using overlines makes it clear that individual documents can use e.g.
=== for chapter titles and --- for section titles, as suggested in the
Linux kernel guidelines[1].  They could do it anyway, because documents
included in a toctree are parsed separately and therefore are not tied
to the same conventions for headings.  However, keeping some consistency is
useful since sometimes files are included from multiple places.

[1] https://www.kernel.org/doc/html/latest/doc-guide/sphinx.html

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f0c1507a2b75d02d2b11aaf881cc5e722c250dc0
      
https://github.com/qemu/qemu/commit/f0c1507a2b75d02d2b11aaf881cc5e722c250dc0
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/system/qemu-block-drivers.rst
    M docs/system/qemu-cpu-models.rst
    M docs/system/qemu-manpage.rst

  Log Message:
  -----------
  docs/system: standardize man page sections to --- with overline

Man pages in docs/system use file inclusion heavily.  Use headings with
overlines in the main files, so that the same included file work well
from both manuals and man pages.

This style of heading is a bit more heavy-weight, so it is not used by
the other man pages in interop/ and tools/.  If in the future they
are changed to use include files, for example to avoid having sections
named "synopsis" or "description", they can switch to --- with overline
as well.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c2c7f3351ad8d3230f190740e174365965f6f6b3
      
https://github.com/qemu/qemu/commit/c2c7f3351ad8d3230f190740e174365965f6f6b3
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/system/cpu-models-x86.rst.inc
    A docs/system/i386/cpu.rst
    M docs/system/target-i386.rst

  Log Message:
  -----------
  docs/system: move x86 CPU configuration to a separate document

Currently, cpu-models-x86.rst.inc is included in target-i386.rst directly.
To make the toctree more homogeneous when adding more documentation,
include it through a first-class .rst file.

Together with the previous changes to the man page skeletons, this also
frees "===" for the headings, so that cpu-models-x86.rst.inc need not
assume anything about the headings used by target-i386.rst.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 95e2289fdac8e329f3282e943715e2a5c4e3177b
      
https://github.com/qemu/qemu/commit/95e2289fdac8e329f3282e943715e2a5c4e3177b
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson.build: Do not look for VNC-related libraries if have_system is not set

When running "./configure --static --disable-system" there is currently
a warning if the static version of libpng is missing:

 WARNING: Static library 'png16' not found for dependency 'libpng', may not
 be statically linked

Since it does not make sense to look for the VNC-related libraries at all
when we're building without system emulator binaries, let's add a check
for have_system here to silence this warning.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210906153939.165567-1-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d051d0e14c7a0b198d41694a4e20f0bc5ae76048
      
https://github.com/qemu/qemu/commit/d051d0e14c7a0b198d41694a4e20f0bc5ae76048
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M pc-bios/keymaps/meson.build
    M trace/meson.build

  Log Message:
  -----------
  meson: look up cp and dtrace with find_program()

Avoid that meson prints a "Program xyz found" test once per
custom_target.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: edc54640f989b3fa7d9330b34c4d816bcef37a04
      
https://github.com/qemu/qemu/commit/edc54640f989b3fa7d9330b34c4d816bcef37a04
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  meson: do not use python.full_path() unnecessarily

The "python" variable is an external program and can be passed
directly to custom_target.  This avoids the need to look it up
multiple times, which was previously silent but is now explicit
in recent Meson versions.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7b94203bfcdcb0930d7afb5f36007f9f3c5720b2
      
https://github.com/qemu/qemu/commit/7b94203bfcdcb0930d7afb5f36007f9f3c5720b2
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  meson: remove dead variable

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bf21fe94232d02e017df76c7485039d855783cd1
      
https://github.com/qemu/qemu/commit/bf21fe94232d02e017df76c7485039d855783cd1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  fw_cfg: add etc/msr_feature_control

The file already existed, but nobody had noticed the warning until now.
Add it at the bottom, since that is where unknown files go in legacy mode.

Fixes: 217f1b4a721 ("target-i386: Publish advised value of 
MSR_IA32_FEATURE_CONTROL via fw_cfg")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 37daf1ba85ccc0d4e53ed355eca316e7e1cae6d3
      
https://github.com/qemu/qemu/commit/37daf1ba85ccc0d4e53ed355eca316e7e1cae6d3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  util: Suppress -Wstringop-overflow in qemu_thread_start

This seems to be either a glibc or gcc bug, but the code
appears to be fine with the warning suppressed.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210803211907.150525-1-richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5fd0711b859c101876585f736ddb48721c106685
      
https://github.com/qemu/qemu/commit/5fd0711b859c101876585f736ddb48721c106685
  Author: Reinoud Zandijk <reinoud@NetBSD.org>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M include/sysemu/nvmm.h

  Log Message:
  -----------
  Only check CONFIG_NVMM when NEED_CPU_H is defined

Userland targers will otherwise use a poisoned CONFIG_NVMM

Signed-off-by: Reinoud Zandijk <Reinoud@NetBSD.org>
Message-Id: <20210718134650.1191-2-reinoud@NetBSD.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8d4cd3dd8b7091772ff0fdf84b79619cf083c98c
      
https://github.com/qemu/qemu/commit/8d4cd3dd8b7091772ff0fdf84b79619cf083c98c
  Author: Reinoud Zandijk <reinoud@NetBSD.org>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M target/i386/nvmm/nvmm-all.c

  Log Message:
  -----------
  Fix nvmm_ram_block_added() function arguments

A parameter max_size was added to the RAMBlockNotifier
ram_block_added function. Use the max_size for pre allocation
of hva space.

Signed-off-by: Reinoud Zandijk <Reinoud@NetBSD.org>
Message-Id: <20210718134650.1191-3-reinoud@NetBSD.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d97327342ea8b32ede19fadaf8290dc29fcfa048
      
https://github.com/qemu/qemu/commit/d97327342ea8b32ede19fadaf8290dc29fcfa048
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/devel/code-of-conduct.rst

  Log Message:
  -----------
  docs: link to archived Fedora code of conduct

Fedora has switched to a different CoC.  QEMU's own code of conduct
is based on the previous version and cites it as a source.  Replace
the link with one to the Wayback Machine.

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7d79344d4fa44e520e6e89f8fed9a27d3d554a9b
      
https://github.com/qemu/qemu/commit/7d79344d4fa44e520e6e89f8fed9a27d3d554a9b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-09-13 (Mon, 13 Sep 2021)

  Changed paths:
    M docs/about/index.rst
    M docs/devel/code-of-conduct.rst
    M docs/devel/index.rst
    M docs/index.rst
    M docs/interop/index.rst
    M docs/specs/index.rst
    M docs/system/cpu-models-x86.rst.inc
    A docs/system/i386/cpu.rst
    M docs/system/index.rst
    M docs/system/qemu-block-drivers.rst
    M docs/system/qemu-cpu-models.rst
    M docs/system/qemu-manpage.rst
    M docs/system/target-i386.rst
    M docs/tools/index.rst
    M docs/tools/qemu-img.rst
    M docs/tools/qemu-nbd.rst
    M docs/tools/qemu-pr-helper.rst
    M docs/tools/qemu-storage-daemon.rst
    M docs/tools/qemu-trace-stap.rst
    M docs/user/index.rst
    M hw/nvram/fw_cfg.c
    M include/sysemu/nvmm.h
    M meson.build
    M pc-bios/keymaps/meson.build
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/machine.c
    M target/i386/nvmm/nvmm-all.c
    M target/i386/svm.h
    M target/i386/tcg/seg_helper.c
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/sysemu/misc_helper.c
    M target/i386/tcg/sysemu/svm_helper.c
    M trace/meson.build
    M ui/meson.build
    M util/qemu-thread-posix.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* Fixes for "-cpu max" on i386 TCG (Daniel)
* vVMLOAD/VMSAVE and vGIF implementation (Lara)
* Reorganize i386 targets documentation in preparation for SGX (myself)
* Meson cleanups (myself, Thomas)
* NVMM fixes (Reinoud)
* Suppress bogus -Wstringop-overflow (Richard)

# gpg: Signature made Mon 13 Sep 2021 12:56:33 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# 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

* remotes/bonzini-gitlab/tags/for-upstream: (21 commits)
  docs: link to archived Fedora code of conduct
  Fix nvmm_ram_block_added() function arguments
  Only check CONFIG_NVMM when NEED_CPU_H is defined
  util: Suppress -Wstringop-overflow in qemu_thread_start
  fw_cfg: add etc/msr_feature_control
  meson: remove dead variable
  meson: do not use python.full_path() unnecessarily
  meson: look up cp and dtrace with find_program()
  meson.build: Do not look for VNC-related libraries if have_system is not set
  docs/system: move x86 CPU configuration to a separate document
  docs/system: standardize man page sections to --- with overline
  docs: standardize directory index to --- with overline
  docs: standardize book titles to === with overline
  target/i386: Added vVMLOAD and vVMSAVE feature
  target/i386: Added changed priority check for VIRQ
  target/i386: Added ignore TPR check in ctl_has_irq
  target/i386: Added VGIF V_IRQ masking capability
  target/i386: Moved int_ctl into CPUX86State structure
  target/i386: Added VGIF feature
  target/i386: VMRUN and VMLOAD canonicalizations
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/eae587e8e369...7d79344d4fa4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]