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

[PATCH v2 00/16] x86/msr: Cleanup and FRED prep



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




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.