I was hoping this to be a patch or two, but it got out of hand... https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2287078891 https://gitlab.com/xen-project/hardware/xen-staging/-/commits/andrew/nx
The branch has one extra patch to fake up the firmware settings being set to Gitlab CI, not included in this series. Julien: This ought to suitable to rebase your cleanup on to. In the end, I did the AMD adjustment mostly because I needed it to test the correctness of the prior cleanup. The final 4 patches are tangential cleanup which I've kept out of the prior work in case we wish to backport it. Everything prior is relevant to untangling, and mostly for the benefit of the AMD side. The early patches are hopefully non-controvertial. Later patches are a little more RFC, and in need of further testing. Andrew Cooper (16): x86/cpu: Fix boot time cache flushing x86/cpu: Drop cpuid_level adjustment from generic_identify() x86/intel: Drop the paddr_bits workaround for P4 Nocona/Prescott CPUs x86/cpu: Fold generic_identify() into its single caller x86/cpu: Move per-CPU actions out of the vendor early_init() hook x86/cpu: Rework the vendor early_init() hooks to be __init x86/cpu: Call the vendor early_init() hook in early_cpu_init() xen/sysctl: Drop XEN_SYSCTL_get_cpu_levelling_caps x86/intel: Always check MSR_MISC_ENABLE on all CPUs x86/amd: Always probe and configure the masking MSRs x86/amd: Fix re-activation of TopoExt on Fam15h CPUs x86/amd: Probe for NX support and re-activate if possible x86/cpu: Drop NOISY_CAPS x86/cpu: Drop default_init() and default_cpu x86/cpu: Clean up use of LCAP_* constants x86/cpuid: Drop the include of public/sysctl.h CHANGELOG.md | 2 + tools/flask/policy/modules/dom0.te | 1 - tools/include/xenguest.h | 1 - tools/libs/guest/xg_cpuid_x86.c | 14 --- xen/arch/x86/boot/head.S | 1 - xen/arch/x86/boot/trampoline.S | 29 +++--- xen/arch/x86/boot/wakeup.S | 27 +++--- xen/arch/x86/cpu/amd.c | 107 ++++++++++++++------ xen/arch/x86/cpu/common.c | 135 +++++++++++++------------- xen/arch/x86/cpu/cpu.h | 7 +- xen/arch/x86/cpu/hygon.c | 2 + xen/arch/x86/cpu/intel.c | 74 ++++---------- xen/arch/x86/domain.c | 10 +- xen/arch/x86/flushtlb.c | 19 ++-- xen/arch/x86/include/asm/cpuid.h | 17 ++-- xen/arch/x86/include/asm/hvm/hvm.h | 2 + xen/arch/x86/include/asm/hvm/vlapic.h | 2 + xen/arch/x86/include/asm/hvm/vpt.h | 2 + xen/arch/x86/include/asm/trampoline.h | 7 +- xen/arch/x86/sysctl.c | 6 -- xen/include/public/sysctl.h | 22 +---- xen/xsm/flask/hooks.c | 4 - xen/xsm/flask/policy/access_vectors | 2 - 23 files changed, 238 insertions(+), 255 deletions(-) -- 2.39.5
