This started as the final couple of patches, and escalated...

Some has been posted before, two even back in 2018 (work literally done in
Nanjing airport leaving XenSummit, and there was an 8h delay).  The rest is
FRED prep work, targetted for 4.21.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/1986711791

Andrew Cooper (16):
  x86/msr: Implement rdmsr_safe() in C
  x86/msr: Rework rdmsr_safe() using asm goto()
  x86: Sort headers
  x86/msr: Split out guest-msr.h
  x86/msr: Split out fsgsbase.h
  x86/msr: Split out tsc.h
  x86/msr: Move msr_{split,fold}() into asm/cpu-user-regs.h
  x86: Clean up asm/time.h
  x86: Clean up asm/msr.h
  x86/svm: Rename variable in svm_msr_write_intercept()
  x86/msr: Change rdmsr() to have normal API
  x86/msr: Change wrmsr() to take a single parameter
  x86/msr: Use MSR_IMM when available
  x86/fsgsbase: Split out __{rd,wr}gskern() helpers
  x86/fsgsbase: Update fs/gs helpers to use wrmsrns()
  x86/fsgsbase: Improve code generation in read_registers()

 xen/arch/x86/acpi/cpufreq/acpi.c            |   7 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c         |   3 +
 xen/arch/x86/acpi/cpufreq/hwp.c             |  18 +-
 xen/arch/x86/acpi/cpufreq/powernow.c        |  12 +-
 xen/arch/x86/apic.c                         |   2 +-
 xen/arch/x86/cpu/amd.c                      |  33 +-
 xen/arch/x86/cpu/common.c                   |  27 +-
 xen/arch/x86/cpu/intel.c                    |  38 +-
 xen/arch/x86/cpu/mcheck/mce.h               |   3 +-
 xen/arch/x86/cpu/mcheck/mce_amd.c           |   2 +-
 xen/arch/x86/cpu/mcheck/mce_intel.c         |   6 +-
 xen/arch/x86/cpu/microcode/intel.c          |   4 +
 xen/arch/x86/cpuid.c                        |   1 +
 xen/arch/x86/debug.c                        |   2 +
 xen/arch/x86/domain.c                       |  16 +-
 xen/arch/x86/domctl.c                       |  45 +-
 xen/arch/x86/genapic/x2apic.c               |   5 +-
 xen/arch/x86/guest/hyperv/hyperv.c          |   1 +
 xen/arch/x86/hvm/hvm.c                      |  77 +--
 xen/arch/x86/hvm/ioreq.c                    |   3 +-
 xen/arch/x86/hvm/svm/svm.c                  |  31 +-
 xen/arch/x86/hvm/svm/vmcb.c                 |   5 +-
 xen/arch/x86/hvm/vmx/vmcs.c                 |  32 +-
 xen/arch/x86/hvm/vmx/vmx.c                  |  64 +--
 xen/arch/x86/hvm/vmx/vvmx.c                 |   8 +-
 xen/arch/x86/include/asm/alternative.h      |   7 +
 xen/arch/x86/include/asm/cpu-user-regs.h    |  11 +
 xen/arch/x86/include/asm/fsgsbase.h         | 112 +++++
 xen/arch/x86/include/asm/guest-msr.h        | 155 ++++++
 xen/arch/x86/include/asm/hvm/hvm.h          |   3 +-
 xen/arch/x86/include/asm/msr.h              | 502 +++++++-------------
 xen/arch/x86/include/asm/prot-key.h         |   6 +-
 xen/arch/x86/include/asm/time.h             |  13 +-
 xen/arch/x86/include/asm/tsc.h              |  46 ++
 xen/arch/x86/machine_kexec.c                |   1 +
 xen/arch/x86/msr.c                          |   9 +-
 xen/arch/x86/nmi.c                          |  18 +-
 xen/arch/x86/oprofile/op_model_athlon.c     |   2 +-
 xen/arch/x86/platform_hypercall.c           |   2 +-
 xen/arch/x86/psr.c                          |   2 +
 xen/arch/x86/pv/domain.c                    |   1 +
 xen/arch/x86/pv/emul-priv-op.c              |  22 +-
 xen/arch/x86/pv/emulate.h                   |   1 +
 xen/arch/x86/pv/misc-hypercalls.c           |   1 +
 xen/arch/x86/spec_ctrl.c                    |   2 +-
 xen/arch/x86/tboot.c                        |  16 +-
 xen/arch/x86/traps.c                        |  16 +-
 xen/arch/x86/tsx.c                          |  29 +-
 xen/arch/x86/x86_64/asm-offsets.c           |   1 +
 xen/arch/x86/x86_64/mmconfig-shared.c       |   2 +-
 xen/arch/x86/xstate.c                       |   5 +-
 xen/common/efi/runtime.c                    |   1 +
 xen/common/ubsan/ubsan.c                    |   2 +
 xen/drivers/acpi/apei/apei-base.c           |  15 +-
 xen/drivers/acpi/tables/tbfadt.c            |   2 +
 xen/drivers/acpi/utilities/utmisc.c         |   3 +
 xen/drivers/passthrough/vtd/iommu.c         |   2 +-
 xen/include/public/arch-x86/cpufeatureset.h |   1 +
 xen/lib/x86/private.h                       |   2 +-
 59 files changed, 846 insertions(+), 612 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/fsgsbase.h
 create mode 100644 xen/arch/x86/include/asm/guest-msr.h
 create mode 100644 xen/arch/x86/include/asm/tsc.h

-- 
2.39.5


Reply via email to