target/i386/cpu.c | 759 +++++++++++++++++++++++++++++++++++++++++++++++++- target/i386/cpu.h | 5 + target/i386/kvm.c | 13 + target/i386/machine.c | 20 ++ 4 files changed, 796 insertions(+), 1 deletion(-)
The following changes since commit 39e2821077e6dcf788b7c2a9ef50970ec7995437: Update version for v4.2.0-rc2 release (2019-11-19 19:34:10 +0000) are available in the git repository at: git://github.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to 02fa60d10137ed2ef17534718d7467e0d2170142: i386: Add -noTSX aliases for hle=off, rtm=off CPU models (2019-11-21 16:35:05 +0100) ---------------------------------------------------------------- * x86 updates for Intel errata (myself, Eduardo) * the big ugly list of x86 VMX features, which was targeted for 5.0 but caused a Libvirt regression (myself) ---------------------------------------------------------------- The diffstat is scary, but 90% of the patches are adding initializers to the CPU model definitions. Eduardo Habkost (2): i386: Add new versions of Skylake/Cascadelake/Icelake without TSX i386: Add -noTSX aliases for hle=off, rtm=off CPU models Paolo Bonzini (2): target/i386: add VMX features to named CPU models target/i386: add support for MSR_IA32_TSX_CTRL target/i386/cpu.c | 759 +++++++++++++++++++++++++++++++++++++++++++++++++- target/i386/cpu.h | 5 + target/i386/kvm.c | 13 + target/i386/machine.c | 20 ++ 4 files changed, 796 insertions(+), 1 deletion(-) -- 1.8.3.1
Patchew URL: https://patchew.org/QEMU/1574350609-29518-1-git-send-email-pbonzini@redhat.com/ Hi, This series seems to have some coding style problems. See output below for more information: Subject: [PULL 0/4] x86 updates for QEMU 4.2-rc Type: series Message-id: 1574350609-29518-1-git-send-email-pbonzini@redhat.com === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === Switched to a new branch 'test' a3e0a0a i386: Add -noTSX aliases for hle=off, rtm=off CPU models 830cc42 i386: Add new versions of Skylake/Cascadelake/Icelake without TSX 1a6071f target/i386: add support for MSR_IA32_TSX_CTRL 1129dd6 target/i386: add VMX features to named CPU models === OUTPUT BEGIN === 1/4 Checking commit 1129dd61e67a (target/i386: add VMX features to named CPU models) WARNING: Block comments use a leading /* on a separate line #136: FILE: target/i386/cpu.c:1802: +/* The following VMX features are not supported by KVM and are left out in the WARNING: line over 80 characters #177: FILE: target/i386/cpu.c:1910: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #202: FILE: target/i386/cpu.c:1955: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #223: FILE: target/i386/cpu.c:2000: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #242: FILE: target/i386/cpu.c:2033: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #262: FILE: target/i386/cpu.c:2156: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #289: FILE: target/i386/cpu.c:2199: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #312: FILE: target/i386/cpu.c:2238: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #317: FILE: target/i386/cpu.c:2243: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #319: FILE: target/i386/cpu.c:2245: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #331: FILE: target/i386/cpu.c:2257: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #359: FILE: target/i386/cpu.c:2318: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #364: FILE: target/i386/cpu.c:2323: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #366: FILE: target/i386/cpu.c:2325: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #379: FILE: target/i386/cpu.c:2338: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #396: FILE: target/i386/cpu.c:2355: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST, WARNING: line over 80 characters #407: FILE: target/i386/cpu.c:2404: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #412: FILE: target/i386/cpu.c:2409: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #414: FILE: target/i386/cpu.c:2411: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #427: FILE: target/i386/cpu.c:2424: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #444: FILE: target/i386/cpu.c:2441: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST, WARNING: line over 80 characters #455: FILE: target/i386/cpu.c:2493: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #460: FILE: target/i386/cpu.c:2498: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #462: FILE: target/i386/cpu.c:2500: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #475: FILE: target/i386/cpu.c:2513: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #492: FILE: target/i386/cpu.c:2530: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #506: FILE: target/i386/cpu.c:2588: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #511: FILE: target/i386/cpu.c:2593: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #513: FILE: target/i386/cpu.c:2595: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #526: FILE: target/i386/cpu.c:2608: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #543: FILE: target/i386/cpu.c:2625: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #546: FILE: target/i386/cpu.c:2628: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #559: FILE: target/i386/cpu.c:2718: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #564: FILE: target/i386/cpu.c:2723: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #566: FILE: target/i386/cpu.c:2725: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #579: FILE: target/i386/cpu.c:2738: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #596: FILE: target/i386/cpu.c:2755: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #599: FILE: target/i386/cpu.c:2758: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #610: FILE: target/i386/cpu.c:2846: + /* Missing: Mode-based execute control (XS/XU), processor tracing, TSC scaling */ WARNING: line over 80 characters #614: FILE: target/i386/cpu.c:2850: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #619: FILE: target/i386/cpu.c:2855: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #621: FILE: target/i386/cpu.c:2857: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #634: FILE: target/i386/cpu.c:2870: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #650: FILE: target/i386/cpu.c:2886: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #651: FILE: target/i386/cpu.c:2887: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #662: FILE: target/i386/cpu.c:2955: + /* Missing: Mode-based execute control (XS/XU), processor tracing, TSC scaling */ WARNING: line over 80 characters #666: FILE: target/i386/cpu.c:2959: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #671: FILE: target/i386/cpu.c:2964: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #673: FILE: target/i386/cpu.c:2966: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #686: FILE: target/i386/cpu.c:2979: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #703: FILE: target/i386/cpu.c:2996: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #706: FILE: target/i386/cpu.c:2999: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #715: FILE: target/i386/cpu.c:3071: + /* Missing: Mode-based execute control (XS/XU), processor tracing, TSC scaling */ WARNING: line over 80 characters #719: FILE: target/i386/cpu.c:3075: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #724: FILE: target/i386/cpu.c:3080: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #726: FILE: target/i386/cpu.c:3082: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #739: FILE: target/i386/cpu.c:3095: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #756: FILE: target/i386/cpu.c:3112: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #759: FILE: target/i386/cpu.c:3115: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #768: FILE: target/i386/cpu.c:3186: + /* Missing: Mode-based execute control (XS/XU), processor tracing, TSC scaling */ WARNING: line over 80 characters #772: FILE: target/i386/cpu.c:3190: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #777: FILE: target/i386/cpu.c:3195: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #779: FILE: target/i386/cpu.c:3197: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #792: FILE: target/i386/cpu.c:3210: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #808: FILE: target/i386/cpu.c:3226: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #809: FILE: target/i386/cpu.c:3227: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #820: FILE: target/i386/cpu.c:3289: + /* Missing: Mode-based execute control (XS/XU), processor tracing, TSC scaling */ WARNING: line over 80 characters #824: FILE: target/i386/cpu.c:3293: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #829: FILE: target/i386/cpu.c:3298: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #831: FILE: target/i386/cpu.c:3300: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #844: FILE: target/i386/cpu.c:3313: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #861: FILE: target/i386/cpu.c:3330: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #864: FILE: target/i386/cpu.c:3333: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #876: FILE: target/i386/cpu.c:3385: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #881: FILE: target/i386/cpu.c:3390: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #883: FILE: target/i386/cpu.c:3392: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #896: FILE: target/i386/cpu.c:3405: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #913: FILE: target/i386/cpu.c:3422: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #916: FILE: target/i386/cpu.c:3425: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | WARNING: line over 80 characters #930: FILE: target/i386/cpu.c:3502: + VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_IA32_PAT | WARNING: line over 80 characters #935: FILE: target/i386/cpu.c:3507: + MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CONTEXT | WARNING: line over 80 characters #937: FILE: target/i386/cpu.c:3509: + MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_CONTEXT | WARNING: line over 80 characters #950: FILE: target/i386/cpu.c:3522: + .features[FEAT_VMX_PROCBASED_CTLS] = VMX_CPU_BASED_VIRTUAL_INTR_PENDING | WARNING: line over 80 characters #967: FILE: target/i386/cpu.c:3539: + VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRICTED_GUEST | WARNING: line over 80 characters #970: FILE: target/i386/cpu.c:3542: + VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE_INVPCID | total: 0 errors, 85 warnings, 825 lines checked Patch 1/4 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 2/4 Checking commit 1a6071f8210c (target/i386: add support for MSR_IA32_TSX_CTRL) ERROR: code indent should never use tabs #39: FILE: target/i386/cpu.h:354: +#define ARCH_CAP_TSX_CTRL_MSR^I^I(1<<7)$ ERROR: spaces required around that '<<' (ctx:VxV) #39: FILE: target/i386/cpu.h:354: +#define ARCH_CAP_TSX_CTRL_MSR (1<<7) ^ ERROR: code indent should never use tabs #41: FILE: target/i386/cpu.h:356: +#define MSR_IA32_TSX_CTRL^I^I0x122$ total: 3 errors, 0 warnings, 101 lines checked Patch 2/4 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 3/4 Checking commit 830cc426a81e (i386: Add new versions of Skylake/Cascadelake/Icelake without TSX) 4/4 Checking commit a3e0a0a80913 (i386: Add -noTSX aliases for hle=off, rtm=off CPU models) === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/1574350609-29518-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On Thu, 21 Nov 2019 at 15:39, Paolo Bonzini <pbonzini@redhat.com> wrote: > > The following changes since commit 39e2821077e6dcf788b7c2a9ef50970ec7995437: > > Update version for v4.2.0-rc2 release (2019-11-19 19:34:10 +0000) > > are available in the git repository at: > > git://github.com/bonzini/qemu.git tags/for-upstream > > for you to fetch changes up to 02fa60d10137ed2ef17534718d7467e0d2170142: > > i386: Add -noTSX aliases for hle=off, rtm=off CPU models (2019-11-21 16:35:05 +0100) > > ---------------------------------------------------------------- > * x86 updates for Intel errata (myself, Eduardo) > * the big ugly list of x86 VMX features, which was targeted for 5.0 but > caused a Libvirt regression (myself) > > ---------------------------------------------------------------- Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/4.2 for any user-visible changes. -- PMM
© 2016 - 2024 Red Hat, Inc.