lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <aDL35MA4vH0wQ6Gb@gmail.com>
Date: Sun, 25 May 2025 12:58:44 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, the arch/x86 maintainers <x86@...nel.org>,
	David Woodhouse <dwmw2@...radead.org>,
	Ard Biesheuvel <ardb@...nel.org>,
	Peter Zijlstra <peterz@...radead.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Borislav Petkov <bp@...en8.de>, Dave Hansen <dave@...1.net>
Subject: [GIT PULL] x86 core updates for v6.16

Linus,

Please pull the latest x86/core Git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-core-2025-05-25

   # HEAD: 6a7c3c2606105a41dde81002c0037420bc1ddf00 x86/bugs: Fix spectre_v2 mitigation default on Intel

Merge note: There's a large number of changes outside of arch/x86/, 
            most of which relate to mechanic changes to the x86 MSR 
            APIs that do not change semantics. Compatibility wrappers 
            were added for the most commonly used APIs to reduce/avoid 
            the pain of merge conflicts & build failures with in-flight 
            changes in this merge window. In a later stage we'll send 
            changes to remove the compatibility wrappers and any 
            leftover uses of the old API names.

Core x86 updates for v6.16:

Boot code changes:

 - A large series of changes to reorganize the x86 boot code into a better isolated
   and easier to maintain base of PIC early startup code in arch/x86/boot/startup/,
   by Ard Biesheuvel.

   Motivation & background:

	| Since commit
	|
	|    c88d71508e36 ("x86/boot/64: Rewrite startup_64() in C")
	|
	| dated Jun 6 2017, we have been using C code on the boot path in a way
	| that is not supported by the toolchain, i.e., to execute non-PIC C
	| code from a mapping of memory that is different from the one provided
	| to the linker. It should have been obvious at the time that this was a
	| bad idea, given the need to sprinkle fixup_pointer() calls left and
	| right to manipulate global variables (including non-pointer variables)
	| without crashing.
	|
	| This C startup code has been expanding, and in particular, the SEV-SNP
	| startup code has been expanding over the past couple of years, and
	| grown many of these warts, where the C code needs to use special
	| annotations or helpers to access global objects.

   This tree includes the first phase of this work-in-progress x86 boot code
   reorganization.

Scalability enhancements and micro-optimizations:

 - Improve code-patching scalability (Eric Dumazet)
 - Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR (Andrew Cooper)

CPU features enumeration updates:

 - Thorough reorganization and cleanup of CPUID parsing APIs (Ahmed S. Darwish)
 - Fix, refactor and clean up the cacheinfo code (Ahmed S. Darwish, Thomas Gleixner)
 - Update CPUID bitfields to x86-cpuid-db v2.3 (Ahmed S. Darwish)

Memory management changes:

 - Allow temporary MMs when IRQs are on (Andy Lutomirski)
 - Opt-in to IRQs-off activate_mm() (Andy Lutomirski)
 - Simplify choose_new_asid() and generate better code (Borislav Petkov)
 - Simplify 32-bit PAE page table handling (Dave Hansen)
 - Always use dynamic memory layout (Kirill A. Shutemov)
 - Make SPARSEMEM_VMEMMAP the only memory model (Kirill A. Shutemov)
 - Make 5-level paging support unconditional (Kirill A. Shutemov)
 - Stop prefetching current->mm->mmap_lock on page faults (Mateusz Guzik)
 - Predict valid_user_address() returning true (Mateusz Guzik)
 - Consolidate initmem_init() (Mike Rapoport)

FPU support and vector computing:

 - Enable Intel APX support (Chang S. Bae)
 - Reorgnize and clean up the xstate code (Chang S. Bae)
 - Make task_struct::thread constant size (Ingo Molnar)
 - Restore fpu_thread_struct_whitelist() to fix CONFIG_HARDENED_USERCOPY=y
   (Kees Cook)
 - Simplify the switch_fpu_prepare() + switch_fpu_finish() logic (Oleg Nesterov)
 - Always preserve non-user xfeatures/flags in __state_perm (Sean Christopherson)

Microcode loader changes:

 - Help users notice when running old Intel microcode (Dave Hansen)
 - AMD: Do not return error when microcode update is not necessary (Annie Li)
 - AMD: Clean the cache if update did not load microcode (Boris Ostrovsky)

Code patching (alternatives) changes:

 - Simplify, reorganize and clean up the x86 text-patching code (Ingo Molnar)
 - Make smp_text_poke_batch_process() subsume smp_text_poke_batch_finish()
   (Nikolay Borisov)
 - Refactor the {,un}use_temporary_mm() code (Peter Zijlstra)

Debugging support:

 - Add early IDT and GDT loading to debug relocate_kernel() bugs (David Woodhouse)
 - Print the reason for the last reset on modern AMD CPUs (Yazen Ghannam)
 - Add AMD Zen debugging document (Mario Limonciello)
 - Fix opcode map (!REX2) superscript tags (Masami Hiramatsu)
 - Stop decoding i64 instructions in x86-64 mode at opcode (Masami Hiramatsu)

CPU bugs and bug mitigations:

 - Remove X86_BUG_MMIO_UNKNOWN (Borislav Petkov)
 - Fix SRSO reporting on Zen1/2 with SMT disabled (Borislav Petkov)
 - Restructure and harmonize the various CPU bug mitigation methods
   (David Kaplan)
 - Fix spectre_v2 mitigation default on Intel (Pawan Gupta)

MSR API:

 - Large MSR code and API cleanup (Xin Li)
 - In-kernel MSR API type cleanups and renames (Ingo Molnar)

PKEYS:

 - Simplify PKRU update in signal frame (Chang S. Bae)

NMI handling code:

 - Clean up, refactor and simplify the NMI handling code (Sohil Mehta)
 - Improve NMI duration console printouts (Sohil Mehta)

Paravirt guests interface:

 - Restrict PARAVIRT_XXL to 64-bit only (Kirill A. Shutemov)

SEV support:

 - Share the sev_secrets_pa value again (Tom Lendacky)

x86 platform changes:

 - Introduce the <asm/amd/> header namespace (Ingo Molnar)
 - i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h>
   (Mario Limonciello)

Fixes and cleanups:

 - x86 assembly code cleanups and fixes (Uros Bizjak)

 - Misc fixes and cleanups (Andi Kleen, Andy Lutomirski, Andy Shevchenko,
   Ard Biesheuvel, Bagas Sanjaya, Baoquan He, Borislav Petkov, Chang S. Bae,
   Chao Gao, Dan Williams, Dave Hansen, David Kaplan, David Woodhouse,
   Eric Biggers, Ingo Molnar, Josh Poimboeuf, Juergen Gross, Malaya Kumar Rout,
   Mario Limonciello, Nathan Chancellor, Oleg Nesterov, Pawan Gupta,
   Peter Zijlstra, Shivank Garg, Sohil Mehta, Thomas Gleixner, Uros Bizjak,
   Xin Li)

 Thanks,

	Ingo

------------------>
Ahmed S. Darwish (58):
      tools/x86/kcpuid: Fix error handling
      tools/x86/kcpuid: Exit the program on invalid parameters
      tools/x86/kcpuid: Simplify usage() handling
      tools/x86/kcpuid: Save CPUID output in an array
      tools/x86/kcpuid: Print correct CPUID output register names
      tools/x86/kcpuid: Remove unused local variable
      tools/x86/kcpuid: Remove unused global variable
      tools/x86/kcpuid: Set parse_line() return type to void
      tools/x86/kcpuid: Use C99-style for loops
      tools/x86/kcpuid: Use <cpuid.h> intrinsics
      tools/x86/kcpuid: Refactor CPUID range handling for future expansion
      tools/x86/kcpuid: Extend CPUID index mask macro
      tools/x86/kcpuid: Consolidate index validity checks
      tools/x86/kcpuid: Filter valid CPUID ranges
      tools/x86/kcpuid: Define Transmeta and Centaur index ranges
      tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.0
      tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.1
      tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.2
      tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.3
      MAINTAINERS: Include the entire kcpuid/ directory under the X86 CPUID DATABASE entry
      x86/cpu: Remove CPUID leaf 0x2 parsing loop
      x86/cacheinfo: Remove CPUID leaf 0x2 parsing loop
      x86/cpu: Introduce and use CPUID leaf 0x2 parsing helpers
      x86/cacheinfo: Use CPUID leaf 0x2 parsing helpers
      x86/cacheinfo: Constify _cpuid4_info_regs instances
      x86/cacheinfo: Align ci_info_init() assignment expressions
      x86/cacheinfo: Standardize _cpuid4_info_regs instance naming
      x86/cacheinfo: Consolidate AMD/Hygon leaf 0x8000001d calls
      x86/cacheinfo: Separate amd_northbridge from _cpuid4_info_regs
      x86/cacheinfo: Move AMD cache_disable_0/1 handling to separate file
      x86/cacheinfo: Use sysfs_emit() for sysfs attributes show()
      x86/cacheinfo: Separate Intel and AMD CPUID leaf 0x4 code paths
      x86/cacheinfo: Rename 'struct _cpuid4_info_regs' to 'struct _cpuid4_info'
      x86/cacheinfo: Clarify type markers for CPUID leaf 0x2 cache descriptors
      x86/cacheinfo: Use enums for cache descriptor types
      x86/cpu: Use enums for TLB descriptor types
      x86/cacheinfo: Use consolidated CPUID leaf 0x2 descriptor table
      x86/cpu: Use consolidated CPUID leaf 0x2 descriptor table
      x86/cacheinfo: Separate CPUID leaf 0x2 handling and post-processing logic
      x86/cacheinfo: Separate Intel CPUID leaf 0x4 handling
      x86/cacheinfo: Extract out cache level topology ID calculation
      x86/cacheinfo: Extract out cache self-snoop checks
      x86/cacheinfo: Relocate CPUID leaf 0x4 cache_type mapping
      x86/cacheinfo: Introduce cpuid_amd_hygon_has_l3_cache()
      x86/cacheinfo: Apply maintainer-tip coding style fixes
      x86/cacheinfo: Properly parse CPUID(0x80000005) L1d/L1i associativity
      x86/cacheinfo: Properly parse CPUID(0x80000006) L2/L3 associativity
      x86/cpuid: Remove obsolete CPUID(0x2) iteration macro
      x86/cacheinfo: Standardize header files and CPUID references
      tools/x86/kcpuid: Update bitfields to x86-cpuid-db v2.4
      x86/cpu: Sanitize CPUID(0x80000000) output
      x86/cpuid: Move CPUID(0x2) APIs into <cpuid/api.h>
      x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header
      x86/cpuid: Rename have_cpuid_p() to cpuid_feature()
      x86/cpuid: Rename cpuid_get_leaf_0x2_regs() to cpuid_leaf_0x2()
      x86/cacheinfo: Rename CPUID(0x2) descriptors iterator parameter
      x86/cpu/intel: Rename CPUID(0x2) descriptors iterator parameter
      x86/cpuid: Rename hypervisor_cpuid_base()/for_each_possible_hypervisor_cpuid_base() to cpuid_base_hypervisor()/for_each_possible_cpuid_base_hypervisor()

Andi Kleen (1):
      x86/cpuid: Add AMX and SPEC_CTRL dependencies

Andrew Cooper (1):
      x86/idle: Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR in mwait_idle_with_hints() and prefer_mwait_c1_over_halt()

Andy Lutomirski (5):
      x86/events, x86/insn-eval: Remove incorrect current->active_mm references
      x86/mm: Make use_/unuse_temporary_mm() non-static
      x86/mm: Allow temporary MMs when IRQs are on
      x86/efi: Make efi_enter/leave_mm() use the use_/unuse_temporary_mm() machinery
      x86/mm: Opt-in to IRQs-off activate_mm()

Andy Shevchenko (1):
      x86/boot: Use __ALIGN_KERNEL_MASK() instead of open coded analogue

Annie Li (1):
      x86/microcode/AMD: Do not return error when microcode update is not necessary

Ard Biesheuvel (28):
      x86/boot/compressed: Merge the local pgtable.h include into <asm/boot.h>
      x86/boot: Move the 5-level paging trampoline into /startup
      x86/boot: Move the EFI mixed mode startup code back under arch/x86, into startup/
      x86/boot/startup: Disable objtool validation for library code
      x86/asm: Make rip_rel_ptr() usable from fPIC code
      x86/boot: Move the early GDT/IDT setup code into startup/
      x86/boot: Move early kernel mapping code into startup/
      x86/boot: Drop RIP_REL_REF() uses from early mapping code
      x86/boot: Move early SME init code into startup/
      x86/boot: Drop RIP_REL_REF() uses from SME startup code
      x86/sev: Prepare for splitting off early SEV code
      vmlinux.lds: Include .data.rel[.local] into .data section
      x86/sev: Move noinstr NMI handling code into separate source file
      x86/sev: Split off startup code from core code
      x86/boot: Move SEV startup code into startup/
      x86/boot: Drop RIP_REL_REF() uses from early SEV code
      x86/asm: Retire RIP_REL_REF()
      x86/boot: Disable jump tables in PIC code
      x86/boot: Move early_setup_gdt() back into head64.c
      x86/boot: Disregard __supported_pte_mask in __startup_64()
      x86/sev: Make sev_snp_enabled() a static function
      x86/sev: Move instruction decoder into separate source file
      x86/linkage: Add SYM_PIC_ALIAS() macro helper to emit symbol aliases
      x86/boot: Add a bunch of PIC aliases
      x86/boot: Provide __pti_set_user_pgtbl() to startup code
      x86/sev: Disentangle #VC handling code from startup code
      x86/boot: Defer initialization of VM space related global variables
      x86/asm-offsets: Export certain 'struct cpuinfo_x86' fields for 64-bit asm use too

Bagas Sanjaya (1):
      x86/cpu: Add "Old Microcode" docs to hw-vuln toctree

Baoquan He (3):
      x86/mm: Remove the arch-specific pgd_leaf() definition
      x86/mm: Remove the arch-specific p4d_leaf() definition
      x86/mm: Simplify the pgd_leaf() and p4d_leaf() checks a bit

Boris Ostrovsky (1):
      x86/microcode/AMD: Clean the cache if update did not load microcode

Borislav Petkov (AMD) (6):
      x86/tlb: Simplify choose_new_asid() and generate better code
      x86/cpuid: Align macro linebreaks vertically
      x86/bugs: Remove X86_BUG_MMIO_UNKNOWN
      x86/cpufeatures: Clean up formatting
      x86/bugs: Fix SRSO reporting on Zen1/2 with SMT disabled
      x86/bugs: Fix indentation due to ITS merge

Chang S. Bae (14):
      x86/fpu/xstate: Remove xstate offset check
      x86/fpu/xstate: Introduce xfeature order table and accessor macro
      x86/fpu/xstate: Adjust XSAVE buffer size calculation
      x86/fpu/xstate: Adjust xstate copying logic for user ABI
      x86/cpufeatures: Add X86_FEATURE_APX
      x86/fpu/apx: Define APX state component
      x86/fpu/apx: Disallow conflicting MPX presence
      x86/fpu/apx: Enable APX state support
      selftests/x86/apx: Add APX test
      x86/fpu: Log XSAVE disablement consistently
      x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE
      x86/pkeys: Simplify PKRU update in signal frame
      x86/fpu: Remove export of mxcsr_feature_mask
      x86/fpu: Rename fpu_reset_fpregs() to fpu_reset_fpstate_regs()

Chao Gao (1):
      x86/fpu: Drop @perm from guest pseudo FPU container

Dan Williams (1):
      x86/devmem: Remove duplicate range_is_allowed() definition

Dave Hansen (9):
      x86/mm: Always allocate a whole page for PAE PGDs
      x86/mm: Always "broadcast" PMD setting operations
      x86/mm: Always tell core mm to sync kernel mappings
      x86/mm: Simplify PAE PGD sharing macros
      x86/mm: Fix up comments around PMD preallocation
      x86/mm: Preallocate all PAE page tables
      x86/mm: Remove duplicated PMD preallocation macro
      x86/mm: Remove now unused SHARED_KERNEL_PMD
      x86/cpu: Help users notice when running old Intel microcode

David Kaplan (17):
      x86/bugs: Restructure MDS mitigation
      x86/bugs: Restructure TAA mitigation
      x86/bugs: Restructure MMIO mitigation
      x86/bugs: Restructure RFDS mitigation
      x86/bugs: Remove md_clear_*_mitigation()
      x86/bugs: Restructure SRBDS mitigation
      x86/bugs: Restructure GDS mitigation
      x86/bugs: Restructure spectre_v1 mitigation
      x86/bugs: Allow retbleed=stuff only on Intel
      x86/bugs: Restructure retbleed mitigation
      x86/bugs: Restructure spectre_v2_user mitigation
      x86/bugs: Restructure BHI mitigation
      x86/bugs: Restructure spectre_v2 mitigation
      x86/bugs: Restructure SSB mitigation
      x86/bugs: Restructure L1TF mitigation
      x86/bugs: Restructure SRSO mitigation
      x86/bugs: Restructure ITS mitigation

David Woodhouse (6):
      x86/kexec: Debugging support: Load an IDT and basic exception entry points
      x86/kexec: Debugging support: Dump registers on exception
      x86/kexec: Add 8250 serial port output
      x86/kexec: Add 8250 MMIO serial port output
      x86/kexec: Invalidate GDT/IDT from relocate_kernel() instead of earlier
      selftests/kexec: Add x86_64 selftest for kexec-jump and exception handling

Eric Biggers (1):
      x86/microcode/AMD: Use sha256() instead of init/update/final

Eric Dumazet (1):
      x86/alternatives: Improve code-patching scalability by removing false sharing in poke_int3_handler()

Ingo Molnar (91):
      x86/msr: Standardize on u64 in <asm/msr.h>
      x86/msr: Standardize on u64 in <asm/msr-index.h>
      x86/msr: Use u64 in rdmsrl_amd_safe() and wrmsrl_amd_safe()
      x86/msr: Use u64 in rdmsrl_safe() and paravirt_read_pmc()
      x86/msr: Harmonize the prototype and definition of do_trace_rdpmc()
      x86/msr: Standardize on 'u32' MSR indices in <asm/msr.h>
      x86/msr: Rename 'rdmsrl()' to 'rdmsrq()'
      x86/msr: Rename 'wrmsrl()' to 'wrmsrq()'
      x86/msr: Rename 'rdmsrl_safe()' to 'rdmsrq_safe()'
      x86/msr: Rename 'wrmsrl_safe()' to 'wrmsrq_safe()'
      x86/msr: Rename 'rdmsrl_safe_on_cpu()' to 'rdmsrq_safe_on_cpu()'
      x86/msr: Rename 'wrmsrl_safe_on_cpu()' to 'wrmsrq_safe_on_cpu()'
      x86/msr: Rename 'rdmsrl_on_cpu()' to 'rdmsrq_on_cpu()'
      x86/msr: Rename 'wrmsrl_on_cpu()' to 'wrmsrq_on_cpu()'
      x86/msr: Rename 'mce_rdmsrl()' to 'mce_rdmsrq()'
      x86/msr: Rename 'mce_wrmsrl()' to 'mce_wrmsrq()'
      x86/msr: Rename 'rdmsrl_amd_safe()' to 'rdmsrq_amd_safe()'
      x86/msr: Rename 'wrmsrl_amd_safe()' to 'wrmsrq_amd_safe()'
      x86/msr: Rename 'native_wrmsrl()' to 'native_wrmsrq()'
      x86/msr: Rename 'wrmsrl_cstar()' to 'wrmsrq_cstar()'
      x86/alternatives: Rename 'struct bp_patching_desc' to 'struct text_poke_int3_vec'
      x86/alternatives: Rename 'bp_refs' to 'text_poke_array_refs'
      x86/alternatives: Rename 'text_poke_bp_batch()' to 'smp_text_poke_batch_process()'
      x86/alternatives: Rename 'text_poke_bp()' to 'smp_text_poke_single()'
      x86/alternatives: Rename 'poke_int3_handler()' to 'smp_text_poke_int3_handler()'
      x86/alternatives: Rename 'poking_mm' to 'text_poke_mm'
      x86/alternatives: Rename 'poking_addr' to 'text_poke_mm_addr'
      x86/alternatives: Rename 'bp_desc' to 'int3_desc'
      x86/alternatives: Remove duplicate 'text_poke_early()' prototype
      x86/alternatives: Update comments in int3_emulate_push()
      x86/alternatives: Remove the confusing, inaccurate & unnecessary 'temp_mm_state_t' abstraction
      x86/alternatives: Rename 'text_poke_flush()' to 'smp_text_poke_batch_flush()'
      x86/alternatives: Rename 'text_poke_finish()' to 'smp_text_poke_batch_finish()'
      x86/alternatives: Rename 'text_poke_queue()' to 'smp_text_poke_batch_add()'
      x86/alternatives: Rename 'text_poke_loc_init()' to 'text_poke_int3_loc_init()'
      x86/alternatives: Rename 'struct text_poke_loc' to 'struct smp_text_poke_loc'
      x86/alternatives: Rename 'int3_desc' to 'int3_vec'
      x86/alternatives: Add text_mutex) assert to smp_text_poke_batch_flush()
      x86/alternatives: Use non-inverted logic instead of 'tp_order_fail()'
      x86/alternatives: Remove the 'addr == NULL means forced-flush' hack from smp_text_poke_batch_finish()/smp_text_poke_batch_flush()/text_poke_addr_ordered()
      x86/alternatives: Simplify smp_text_poke_single() by using tp_vec and existing APIs
      x86/alternatives: Assert that smp_text_poke_int3_handler() can only ever handle 'tp_vec[]' based requests
      x86/alternatives: Assert input parameters in smp_text_poke_batch_process()
      x86/alternatives: Introduce 'struct smp_text_poke_array' and move tp_vec and tp_vec_nr to it
      x86/alternatives: Remove the tp_vec indirection
      x86/alternatives: Rename 'try_get_desc()' to 'try_get_text_poke_array()'
      x86/alternatives: Rename 'put_desc()' to 'put_text_poke_array()'
      x86/alternatives: Simplify try_get_text_poke_array()
      x86/alternatives: Simplify smp_text_poke_int3_handler()
      x86/alternatives: Simplify smp_text_poke_batch_process()
      x86/alternatives: Move the text_poke_array manipulation into text_poke_int3_loc_init() and rename it to __smp_text_poke_batch_add()
      x86/alternatives: Remove the mixed-patching restriction on smp_text_poke_single()
      x86/alternatives: Document 'smp_text_poke_single()'
      x86/alternatives: Add documentation for smp_text_poke_batch_add()
      x86/alternatives: Move text_poke_array completion from smp_text_poke_batch_finish() and smp_text_poke_batch_flush() to smp_text_poke_batch_process()
      x86/alternatives: Rename 'text_poke_sync()' to 'smp_text_poke_sync_each_cpu()'
      x86/alternatives: Simplify text_poke_addr_ordered()
      x86/alternatives: Constify text_poke_addr()
      x86/alternatives: Simplify and clean up patch_cmp()
      x86/alternatives: Standardize on 'tpl' local variable names for 'struct smp_text_poke_loc *'
      x86/alternatives: Rename 'TP_ARRAY_NR_ENTRIES_MAX' to 'TEXT_POKE_ARRAY_MAX'
      x86/alternatives: Rename 'POKE_MAX_OPCODE_SIZE' to 'TEXT_POKE_MAX_OPCODE_SIZE'
      x86/alternatives: Simplify the #include section
      x86/alternatives: Move declarations of vmlinux.lds.S defined section symbols to <asm/alternative.h>
      x86/alternatives: Remove 'smp_text_poke_batch_flush()'
      x86/alternatives: Update the comments in smp_text_poke_batch_process()
      x86/alternatives: Rename 'apply_relocation()' to 'text_poke_apply_relocation()'
      x86/alternatives: Add comment about noinstr expectations
      x86/msr: Add compatibility wrappers for rdmsrl()/wrmsrl()
      x86/fpu: Introduce the x86_task_fpu() helper method
      x86/fpu: Convert task_struct::thread.fpu accesses to use x86_task_fpu()
      x86/fpu: Make task_struct::thread constant size
      x86/fpu: Remove the thread::fpu pointer
      x86/fpu: Push 'fpu' pointer calculation into the fpu__drop() call
      x86/fpu: Make sure x86_task_fpu() doesn't get called for PF_KTHREAD|PF_USER_WORKER tasks during exit
      x86/fpu: Remove init_task FPU state dependencies, add debugging warning for PF_KTHREAD tasks
      x86/fpu: Use 'fpstate' variable names consistently
      x86/fpu: Clarify FPU context cacheline alignment
      x86/platform/amd: Move the <asm/amd-ibs.h> header to <asm/amd/ibs.h>
      x86/platform/amd: Add standard header guards to <asm/amd/ibs.h>
      x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h>
      x86/platform/amd: Move the <asm/amd_hsmp.h> header to <asm/amd/hsmp.h>
      x86/platform/amd: Clean up the <asm/amd/hsmp.h> header guards a bit
      x86/platform/amd: Move the <asm/amd_node.h> header to <asm/amd/node.h>
      x86/alternatives, um: Rename UML's text_poke_sync() wrapper to smp_text_poke_sync_each_cpu()
      x86/msr: Improve the comments of the DECLARE_ARGS()/EAX_EDX_VAL()/EAX_EDX_RET() facility
      x86/msr: Rename DECLARE_ARGS() to EAX_EDX_DECLARE_ARGS
      x86/msr: Move the EAX_EDX_*() methods from <asm/msr.h> to <asm/asm.h>
      tools/arch/x86: Move the <asm/amd-ibs.h> header to <asm/amd/ibs.h>
      accel/habanalabs: Don't build the driver on UML
      x86/msr: Add rdmsrl_on_cpu() compatibility wrapper

Josh Poimboeuf (1):
      objtool, x86/hweight: Remove ANNOTATE_IGNORE_ALTERNATIVE

Juergen Gross (1):
      x86/alternative: Remove unused header #defines

Kees Cook (1):
      x86/fpu: Restore fpu_thread_struct_whitelist() to fix CONFIG_HARDENED_USERCOPY=y crash

Kirill A. Shutemov (4):
      x86/mm/64: Always use dynamic memory layout
      x86/mm/64: Make SPARSEMEM_VMEMMAP the only memory model
      x86/mm/64: Make 5-level paging support unconditional
      x86/paravirt: Restrict PARAVIRT_XXL to 64-bit only

Malaya Kumar Rout (1):
      selftests/x86/lam: Fix clean up fds in do_uring() and allocate_dsa_pasid()

Mario Limonciello (4):
      i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86
      i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h>
      platform/x86/amd/pmc: Use FCH_PM_BASE definition
      Documentation: Add AMD Zen debugging document

Masami Hiramatsu (Google) (2):
      x86/insn: Fix opcode map (!REX2) superscript tags
      x86/insn: Stop decoding i64 instructions in x86-64 mode at opcode

Mateusz Guzik (2):
      x86/mm: Stop prefetching current->mm->mmap_lock on page faults
      x86/uaccess: Predict valid_user_address() returning true

Mike Rapoport (Microsoft) (1):
      x86/mm: Consolidate initmem_init()

Nathan Chancellor (1):
      x86/boot/startup: Disable LTO for the startup code

Nikolay Borisov (1):
      x86/alternatives: Make smp_text_poke_batch_process() subsume smp_text_poke_batch_finish()

Oleg Nesterov (6):
      x86/fpu: Simplify the switch_fpu_prepare() + switch_fpu_finish() logic
      x86/fpu: Remove x86_init_fpu
      x86/fpu: Remove DEFINE_EVENT(x86_fpu, x86_fpu_copy_src)
      x86/fpu: Always use memcpy_and_pad() in arch_dup_task_struct()
      x86/fpu: Check TIF_NEED_FPU_LOAD instead of PF_KTHREAD|PF_USER_WORKER in fpu__drop()
      x86/fpu: Shift fpregs_assert_state_consistent() from arch_exit_work() to its caller

Pawan Gupta (2):
      x86/bugs: Rename mmio_stale_data_clear to cpu_buf_vm_clear
      x86/bugs: Fix spectre_v2 mitigation default on Intel

Peter Zijlstra (6):
      x86/alternatives: Document the text_poke_bp_batch() synchronization rules a bit more
      x86/mm: Add 'mm' argument to unuse_temporary_mm()
      x86/mm: Remove 'mm' argument from unuse_temporary_mm() again
      x86/mm: Remove the mm_cpumask(prev) warning from switch_mm_irqs_off()
      x86/mm: Fix {,un}use_temporary_mm() IRQ state
      x86/mm: Fix false positive warning in switch_mm_irqs_off()

Sean Christopherson (1):
      x86/fpu/xstate: Always preserve non-user xfeatures/flags in __state_perm

Shivank Garg (1):
      x86/mm: Fix kernel-doc descriptions of various pgtable methods

Sohil Mehta (10):
      x86/nmi: Simplify unknown NMI panic handling
      x86/nmi: Consolidate NMI panic variables
      x86/nmi: Use a macro to initialize NMI descriptors
      x86/nmi: Remove export of local_touch_nmi()
      x86/nmi: Fix comment in unknown_nmi_error()
      x86/nmi: Improve and relocate NMI handler comments
      x86/nmi: Improve <asm/nmi.h> documentation
      x86/nmi: Add missing description x86_platform_ops::get_nmi_reason to <asm/x86_init.h>
      x86/nmi: Clean up NMI selftest
      x86/nmi: Improve NMI duration console printouts

Thomas Gleixner (4):
      x86/cacheinfo: Refactor CPUID leaf 0x2 cache descriptor lookup
      x86/cacheinfo: Properly name amd_cpuid4()'s first parameter
      x86/cacheinfo: Use proper name for cacheinfo instances
      x86/cpu: Consolidate CPUID leaf 0x2 tables

Tom Lendacky (1):
      x86/sev: Share the sev_secrets_pa value again

Uros Bizjak (14):
      x86/bitops: Use TZCNT mnemonic in <asm/bitops.h>
      x86/bitops: Simplify variable_ffz() as variable__ffs(~word)
      x86/idle: Standardize argument types for MONITOR{,X} and MWAIT{,X} instruction wrappers on 'u32'
      x86/idle: Remove .s output beautifying delimiters from simpler asm() templates
      x86/idle: Remove CONFIG_AS_TPAUSE
      x86/idle: Change arguments of mwait_idle_with_hints() to u32
      x86/idle: Use MONITOR and MWAIT mnemonics in <asm/mwait.h>
      x86: Remove __FORCE_ORDER workaround
      x86/percpu: Refer __percpu_prefix to __force_percpu_prefix
      x86/uaccess: Use asm_inline() instead of asm() in __untagged_addr()
      x86/boot: Remove semicolon from "rep" prefixes
      x86/asm: Remove semicolon from "rep" prefixes
      x86/asm: Replace "REP; NOP" with PAUSE mnemonic
      x86/asm: Rename rep_nop() to native_pause()

Xin Li (Intel) (19):
      x86/cpufeatures: Shorten X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT
      x86/cpufeatures: Shorten X86_FEATURE_AMD_HETEROGENEOUS_CORES
      x86/msr: Add explicit includes of <asm/msr.h>
      x86/msr: Move rdtsc{,_ordered}() to <asm/tsc.h>
      x86/msr: Remove the unused rdpmc() method
      x86/msr: Rename rdpmcl() to rdpmc()
      x86/msr: Convert the rdpmc() macro to an __always_inline function
      x86/xen/msr: Return u64 consistently in Xen PMC xen_*_read functions
      x86/msr: Convert __wrmsr() uses to native_wrmsr{,q}() uses
      x86/msr: Add the native_rdmsrq() helper
      x86/msr: Convert __rdmsr() uses to native_rdmsrq() uses
      x86/xen/msr: Remove calling native_{read,write}_msr{,_safe}() in pmu_msr_{read,write}()
      x86/xen/msr: Remove pmu_msr_{read,write}()
      x86/xen/msr: Remove the error pointer argument from set_seg()
      x86/pvops/msr: Refactor pv_cpu_ops.write_msr{,_safe}()
      x86/msr: Replace wrmsr(msr, low, 0) with wrmsrq(msr, low)
      x86/msr: Change the function type of native_read_msr_safe()
      x86/msr: Remove a superfluous inclusion of <asm/asm.h>
      x86/xen/msr: Fix uninitialized variable 'err'

Yazen Ghannam (1):
      x86/CPU/AMD: Print the reason for the last reset


 Documentation/ABI/testing/sysfs-devices-system-cpu |    1 +
 Documentation/admin-guide/hw-vuln/index.rst        |    1 +
 .../admin-guide/hw-vuln/old_microcode.rst          |   21 +
 Documentation/arch/x86/amd-debugging.rst           |  368 ++++
 Documentation/arch/x86/cpuinfo.rst                 |    8 +-
 Documentation/arch/x86/index.rst                   |    1 +
 Documentation/arch/x86/resume.svg                  |    4 +
 Documentation/arch/x86/suspend.svg                 |    4 +
 Documentation/arch/x86/x86_64/5level-paging.rst    |    9 -
 MAINTAINERS                                        |    6 +-
 arch/um/kernel/um_arch.c                           |    2 +-
 arch/x86/Kconfig                                   |   34 +-
 arch/x86/Kconfig.assembler                         |    4 -
 arch/x86/Kconfig.cpufeatures                       |    4 -
 arch/x86/Makefile                                  |    1 +
 arch/x86/boot/bioscall.S                           |    4 +-
 arch/x86/boot/boot.h                               |    6 +-
 arch/x86/boot/compressed/Makefile                  |   10 +-
 arch/x86/boot/compressed/head_64.S                 |    1 -
 arch/x86/boot/compressed/misc.c                    |    1 -
 arch/x86/boot/compressed/misc.h                    |    8 +
 arch/x86/boot/compressed/pgtable.h                 |   18 -
 arch/x86/boot/compressed/pgtable_64.c              |   12 +-
 arch/x86/boot/compressed/sev-handle-vc.c           |  134 ++
 arch/x86/boot/compressed/sev.c                     |  156 +-
 arch/x86/boot/compressed/sev.h                     |   21 +-
 arch/x86/boot/compressed/string.c                  |    8 +-
 arch/x86/boot/copy.S                               |    8 +-
 arch/x86/boot/header.S                             |    6 +-
 arch/x86/boot/startup/Makefile                     |   30 +
 .../x86/boot/startup/efi-mixed.S                   |    0
 arch/x86/boot/startup/gdt_idt.c                    |   71 +
 arch/x86/boot/{compressed => startup}/la57toggle.S |    1 -
 arch/x86/boot/startup/map_kernel.c                 |  217 +++
 .../sev/shared.c => boot/startup/sev-shared.c}     |  894 +---------
 arch/x86/boot/startup/sev-startup.c                |  368 ++++
 .../mem_encrypt_identity.c => boot/startup/sme.c}  |   30 +-
 arch/x86/boot/string.c                             |    2 +-
 arch/x86/boot/video.c                              |    2 +-
 arch/x86/coco/core.c                               |    2 +
 arch/x86/coco/sev/Makefile                         |   23 +-
 arch/x86/coco/sev/core.c                           | 1808 +++-----------------
 arch/x86/coco/sev/sev-nmi.c                        |  108 ++
 arch/x86/coco/sev/vc-handle.c                      | 1061 ++++++++++++
 arch/x86/coco/sev/vc-shared.c                      |  504 ++++++
 arch/x86/entry/vsyscall/vsyscall_64.c              |    2 -
 arch/x86/events/amd/brs.c                          |   12 +-
 arch/x86/events/amd/core.c                         |   13 +-
 arch/x86/events/amd/ibs.c                          |   29 +-
 arch/x86/events/amd/iommu.c                        |    2 +
 arch/x86/events/amd/lbr.c                          |   21 +-
 arch/x86/events/amd/power.c                        |   11 +-
 arch/x86/events/amd/uncore.c                       |   14 +-
 arch/x86/events/core.c                             |   54 +-
 arch/x86/events/intel/bts.c                        |    1 +
 arch/x86/events/intel/core.c                       |   71 +-
 arch/x86/events/intel/cstate.c                     |    3 +-
 arch/x86/events/intel/ds.c                         |   13 +-
 arch/x86/events/intel/knc.c                        |   17 +-
 arch/x86/events/intel/lbr.c                        |   44 +-
 arch/x86/events/intel/p4.c                         |   25 +-
 arch/x86/events/intel/p6.c                         |   13 +-
 arch/x86/events/intel/pt.c                         |   35 +-
 arch/x86/events/intel/uncore.c                     |    3 +-
 arch/x86/events/intel/uncore_discovery.c           |   11 +-
 arch/x86/events/intel/uncore_nhmex.c               |   71 +-
 arch/x86/events/intel/uncore_snb.c                 |   43 +-
 arch/x86/events/intel/uncore_snbep.c               |   51 +-
 arch/x86/events/msr.c                              |    4 +-
 arch/x86/events/perf_event.h                       |   27 +-
 arch/x86/events/probe.c                            |    4 +-
 arch/x86/events/rapl.c                             |    9 +-
 arch/x86/events/utils.c                            |    1 +
 arch/x86/events/zhaoxin/core.c                     |   17 +-
 arch/x86/hyperv/hv_apic.c                          |   11 +-
 arch/x86/hyperv/hv_init.c                          |   67 +-
 arch/x86/hyperv/hv_spinlock.c                      |    7 +-
 arch/x86/hyperv/hv_vtl.c                           |    5 +-
 arch/x86/hyperv/ivm.c                              |    5 +-
 arch/x86/include/asm/acrn.h                        |    2 +-
 arch/x86/include/asm/alternative.h                 |   11 +-
 arch/x86/include/asm/amd/fch.h                     |   13 +
 arch/x86/include/asm/{amd_hsmp.h => amd/hsmp.h}    |    2 +-
 arch/x86/include/asm/{amd-ibs.h => amd/ibs.h}      |    5 +
 arch/x86/include/asm/{amd_nb.h => amd/nb.h}        |    2 +-
 arch/x86/include/asm/{amd_node.h => amd/node.h}    |    0
 arch/x86/include/asm/apic.h                        |   12 +-
 arch/x86/include/asm/arch_hweight.h                |    6 +-
 arch/x86/include/asm/asm.h                         |   24 +-
 arch/x86/include/asm/bitops.h                      |    7 +-
 arch/x86/include/asm/boot.h                        |   10 +
 arch/x86/include/asm/coco.h                        |    2 +-
 arch/x86/include/asm/cpufeatures.h                 |   33 +-
 arch/x86/include/asm/cpuid/api.h                   |   96 +-
 arch/x86/include/asm/cpuid/types.h                 |   95 +
 arch/x86/include/asm/debugreg.h                    |   16 +-
 arch/x86/include/asm/entry-common.h                |    5 +-
 arch/x86/include/asm/fpu/api.h                     |    2 +-
 arch/x86/include/asm/fpu/sched.h                   |   38 +-
 arch/x86/include/asm/fpu/types.h                   |   24 +-
 arch/x86/include/asm/fpu/xstate.h                  |    3 +-
 arch/x86/include/asm/fred.h                        |    1 +
 arch/x86/include/asm/fsgsbase.h                    |    4 +-
 arch/x86/include/asm/inat.h                        |    6 +
 arch/x86/include/asm/io.h                          |    6 +-
 arch/x86/include/asm/kexec.h                       |    7 +
 arch/x86/include/asm/kvm_host.h                    |    3 +-
 arch/x86/include/asm/linkage.h                     |   10 +
 arch/x86/include/asm/mem_encrypt.h                 |    2 +-
 arch/x86/include/asm/microcode.h                   |    4 +-
 arch/x86/include/asm/mmu.h                         |    4 +-
 arch/x86/include/asm/mmu_context.h                 |   15 +-
 arch/x86/include/asm/mshyperv.h                    |    3 +-
 arch/x86/include/asm/msr-index.h                   |   12 +-
 arch/x86/include/asm/msr.h                         |  214 +--
 arch/x86/include/asm/mwait.h                       |   66 +-
 arch/x86/include/asm/nmi.h                         |   49 +-
 arch/x86/include/asm/nospec-branch.h               |    4 +-
 arch/x86/include/asm/page_32_types.h               |    1 -
 arch/x86/include/asm/page_64.h                     |    2 -
 arch/x86/include/asm/page_64_types.h               |   11 -
 arch/x86/include/asm/page_types.h                  |    4 +-
 arch/x86/include/asm/paravirt.h                    |   63 +-
 arch/x86/include/asm/paravirt_types.h              |   12 +-
 arch/x86/include/asm/percpu.h                      |   20 +-
 arch/x86/include/asm/pgtable-2level_types.h        |    2 -
 arch/x86/include/asm/pgtable-3level_types.h        |    4 +-
 arch/x86/include/asm/pgtable.h                     |   10 -
 arch/x86/include/asm/pgtable_64.h                  |    2 -
 arch/x86/include/asm/pgtable_64_types.h            |   26 -
 arch/x86/include/asm/processor.h                   |   16 +-
 arch/x86/include/asm/resctrl.h                     |    2 +
 arch/x86/include/asm/setup.h                       |    1 +
 arch/x86/include/asm/sev-internal.h                |  105 ++
 arch/x86/include/asm/sev.h                         |   59 +
 arch/x86/include/asm/spec-ctrl.h                   |    2 +-
 arch/x86/include/asm/special_insns.h               |   21 +-
 arch/x86/include/asm/string_32.h                   |   15 +-
 arch/x86/include/asm/suspend_32.h                  |    1 +
 arch/x86/include/asm/suspend_64.h                  |    1 +
 arch/x86/include/asm/switch_to.h                   |    4 +-
 arch/x86/include/asm/text-patching.h               |   29 +-
 arch/x86/include/asm/trace/fpu.h                   |    5 -
 arch/x86/include/asm/tsc.h                         |   55 +
 arch/x86/include/asm/uaccess_64.h                  |    6 +-
 arch/x86/include/asm/vdso/processor.h              |    8 +-
 arch/x86/include/asm/x86_init.h                    |    1 +
 arch/x86/include/asm/xen/hypervisor.h              |    2 +-
 arch/x86/kernel/acpi/cppc.c                        |   10 +-
 arch/x86/kernel/acpi/cstate.c                      |    2 +-
 arch/x86/kernel/acpi/sleep.c                       |    1 +
 arch/x86/kernel/alternative.c                      |  441 ++---
 arch/x86/kernel/amd_gart_64.c                      |    2 +-
 arch/x86/kernel/amd_nb.c                           |   11 +-
 arch/x86/kernel/amd_node.c                         |    2 +-
 arch/x86/kernel/aperture_64.c                      |    2 +-
 arch/x86/kernel/apic/apic.c                        |   17 +-
 arch/x86/kernel/apic/apic_numachip.c               |    7 +-
 arch/x86/kernel/apic/io_apic.c                     |    2 +-
 arch/x86/kernel/asm-offsets.c                      |    8 +
 arch/x86/kernel/asm-offsets_32.c                   |    9 -
 arch/x86/kernel/callthunks.c                       |    6 +-
 arch/x86/kernel/cet.c                              |    3 +-
 arch/x86/kernel/cpu/Makefile                       |    5 +-
 arch/x86/kernel/cpu/amd.c                          |   85 +-
 arch/x86/kernel/cpu/amd_cache_disable.c            |  301 ++++
 arch/x86/kernel/cpu/aperfmperf.c                   |   29 +-
 arch/x86/kernel/cpu/bugs.c                         | 1407 ++++++++-------
 arch/x86/kernel/cpu/bus_lock.c                     |   19 +-
 arch/x86/kernel/cpu/cacheinfo.c                    | 1059 ++++--------
 arch/x86/kernel/cpu/common.c                       |  155 +-
 arch/x86/kernel/cpu/cpu.h                          |    9 +
 arch/x86/kernel/cpu/cpuid-deps.c                   |    5 +
 arch/x86/kernel/cpu/cpuid_0x2_table.c              |  128 ++
 arch/x86/kernel/cpu/feat_ctl.c                     |    5 +-
 arch/x86/kernel/cpu/hygon.c                        |    7 +-
 arch/x86/kernel/cpu/intel.c                        |  134 +-
 arch/x86/kernel/cpu/intel_epb.c                    |   12 +-
 arch/x86/kernel/cpu/mce/amd.c                      |   22 +-
 arch/x86/kernel/cpu/mce/core.c                     |   66 +-
 arch/x86/kernel/cpu/mce/inject.c                   |   35 +-
 arch/x86/kernel/cpu/mce/intel.c                    |   32 +-
 arch/x86/kernel/cpu/mce/internal.h                 |    2 +-
 arch/x86/kernel/cpu/microcode/amd.c                |   14 +-
 arch/x86/kernel/cpu/microcode/core.c               |    5 +-
 arch/x86/kernel/cpu/microcode/intel-ucode-defs.h   |  150 ++
 arch/x86/kernel/cpu/microcode/intel.c              |    2 +-
 arch/x86/kernel/cpu/mshyperv.c                     |   13 +-
 arch/x86/kernel/cpu/resctrl/core.c                 |   11 +-
 arch/x86/kernel/cpu/resctrl/monitor.c              |    3 +-
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c          |   27 +-
 arch/x86/kernel/cpu/resctrl/rdtgroup.c             |    9 +-
 arch/x86/kernel/cpu/scattered.c                    |    3 +-
 arch/x86/kernel/cpu/sgx/main.c                     |    3 +-
 arch/x86/kernel/cpu/topology.c                     |    3 +-
 arch/x86/kernel/cpu/topology_amd.c                 |    7 +-
 arch/x86/kernel/cpu/tsx.c                          |   21 +-
 arch/x86/kernel/cpu/umwait.c                       |    6 +-
 arch/x86/kernel/cpu/zhaoxin.c                      |    1 +
 arch/x86/kernel/dumpstack.c                        |    2 -
 arch/x86/kernel/early_printk.c                     |    9 +
 arch/x86/kernel/fpu/context.h                      |    4 +-
 arch/x86/kernel/fpu/core.c                         |   94 +-
 arch/x86/kernel/fpu/init.c                         |   18 +-
 arch/x86/kernel/fpu/regset.c                       |   22 +-
 arch/x86/kernel/fpu/signal.c                       |   29 +-
 arch/x86/kernel/fpu/xstate.c                       |  177 +-
 arch/x86/kernel/fpu/xstate.h                       |   31 +-
 arch/x86/kernel/fred.c                             |   21 +-
 arch/x86/kernel/ftrace.c                           |   18 +-
 arch/x86/kernel/head64.c                           |  284 +--
 arch/x86/kernel/head_32.S                          |    8 +-
 arch/x86/kernel/head_64.S                          |   10 +-
 arch/x86/kernel/hpet.c                             |    5 +-
 arch/x86/kernel/jailhouse.c                        |    2 +-
 arch/x86/kernel/jump_label.c                       |    6 +-
 arch/x86/kernel/kprobes/core.c                     |    4 +-
 arch/x86/kernel/kprobes/opt.c                      |    6 +-
 arch/x86/kernel/kvm.c                              |   33 +-
 arch/x86/kernel/kvmclock.c                         |    6 +-
 arch/x86/kernel/machine_kexec_64.c                 |   48 +-
 arch/x86/kernel/mmconf-fam10h_64.c                 |    8 +-
 arch/x86/kernel/module.c                           |    2 +-
 arch/x86/kernel/nmi.c                              |   87 +-
 arch/x86/kernel/nmi_selftest.c                     |   52 +-
 arch/x86/kernel/paravirt.c                         |    3 +-
 arch/x86/kernel/process.c                          |   44 +-
 arch/x86/kernel/process_32.c                       |    5 +-
 arch/x86/kernel/process_64.c                       |   26 +-
 arch/x86/kernel/reboot_fixups_32.c                 |    2 +-
 arch/x86/kernel/relocate_kernel_32.S               |    6 +-
 arch/x86/kernel/relocate_kernel_64.S               |  250 ++-
 arch/x86/kernel/setup.c                            |   36 +-
 arch/x86/kernel/shstk.c                            |   18 +-
 arch/x86/kernel/signal.c                           |    6 +-
 arch/x86/kernel/smpboot.c                          |    2 +-
 arch/x86/kernel/static_call.c                      |    2 +-
 arch/x86/kernel/trace_clock.c                      |    2 +-
 arch/x86/kernel/traps.c                            |   19 +-
 arch/x86/kernel/tsc.c                              |    5 +-
 arch/x86/kernel/tsc_sync.c                         |   15 +-
 arch/x86/kernel/vmlinux.lds.S                      |    4 +
 arch/x86/kvm/cpuid.c                               |    4 +-
 arch/x86/kvm/svm/avic.c                            |    3 +-
 arch/x86/kvm/svm/sev.c                             |    3 +-
 arch/x86/kvm/svm/svm.c                             |   51 +-
 arch/x86/kvm/vmx/nested.c                          |    5 +-
 arch/x86/kvm/vmx/pmu_intel.c                       |    5 +-
 arch/x86/kvm/vmx/sgx.c                             |    9 +-
 arch/x86/kvm/vmx/vmx.c                             |   79 +-
 arch/x86/kvm/x86.c                                 |   38 +-
 arch/x86/lib/delay.c                               |    2 +-
 arch/x86/lib/insn-eval.c                           |   20 +-
 arch/x86/lib/insn.c                                |    7 +-
 arch/x86/lib/iomem.c                               |    2 +-
 arch/x86/lib/kaslr.c                               |    2 +-
 arch/x86/lib/memcpy_64.S                           |    1 +
 arch/x86/lib/memset_64.S                           |    1 +
 arch/x86/lib/msr-smp.c                             |   16 +-
 arch/x86/lib/msr.c                                 |   12 +-
 arch/x86/lib/retpoline.S                           |    2 +
 arch/x86/lib/string_32.c                           |   17 +-
 arch/x86/lib/strstr_32.c                           |    6 +-
 arch/x86/lib/usercopy_32.c                         |   18 +-
 arch/x86/lib/x86-opcode-map.txt                    |   56 +-
 arch/x86/math-emu/fpu_aux.c                        |    2 +-
 arch/x86/math-emu/fpu_entry.c                      |    4 +-
 arch/x86/math-emu/fpu_system.h                     |    2 +-
 arch/x86/mm/Makefile                               |    8 +-
 arch/x86/mm/amdtopology.c                          |    2 +-
 arch/x86/mm/extable.c                              |    2 +-
 arch/x86/mm/fault.c                                |    3 -
 arch/x86/mm/init.c                                 |   23 +-
 arch/x86/mm/init_32.c                              |    7 -
 arch/x86/mm/init_64.c                              |   16 +-
 arch/x86/mm/mem_encrypt_amd.c                      |    2 +
 arch/x86/mm/mm_internal.h                          |    4 +
 arch/x86/mm/numa.c                                 |    5 +-
 arch/x86/mm/numa_32.c                              |   61 -
 arch/x86/mm/numa_64.c                              |   13 -
 arch/x86/mm/numa_internal.h                        |   10 -
 arch/x86/mm/pat/memtype.c                          |   35 +-
 arch/x86/mm/pat/set_memory.c                       |    4 +-
 arch/x86/mm/pgtable.c                              |  156 +-
 arch/x86/mm/pti.c                                  |    4 +-
 arch/x86/mm/tlb.c                                  |  148 +-
 arch/x86/net/bpf_jit_comp.c                        |    2 +-
 arch/x86/pci/amd_bus.c                             |   12 +-
 arch/x86/pci/fixup.c                               |    2 +-
 arch/x86/pci/mmconfig-shared.c                     |    3 +-
 arch/x86/platform/efi/efi_64.c                     |    8 +-
 arch/x86/platform/olpc/olpc-xo1-rtc.c              |    6 +-
 arch/x86/platform/olpc/olpc-xo1-sci.c              |    2 +-
 arch/x86/platform/pvh/head.S                       |    3 +-
 arch/x86/power/cpu.c                               |   27 +-
 arch/x86/power/hibernate_asm_32.S                  |    3 +-
 arch/x86/power/hibernate_asm_64.S                  |    3 +-
 arch/x86/realmode/init.c                           |    3 +-
 arch/x86/tools/gen-insn-attr-x86.awk               |    7 +
 arch/x86/virt/svm/sev.c                            |   23 +-
 arch/x86/xen/enlighten_pv.c                        |   63 +-
 arch/x86/xen/mmu_pv.c                              |    4 -
 arch/x86/xen/pmu.c                                 |   73 +-
 arch/x86/xen/suspend.c                             |    7 +-
 arch/x86/xen/xen-ops.h                             |    5 +-
 drivers/accel/habanalabs/Kconfig                   |    2 +-
 drivers/accel/habanalabs/common/habanalabs_ioctl.c |    2 -
 drivers/acpi/acpi_extlog.c                         |    3 +-
 drivers/acpi/acpi_lpit.c                           |    2 +-
 drivers/acpi/acpi_pad.c                            |    2 +-
 drivers/acpi/processor_perflib.c                   |    1 +
 drivers/acpi/processor_throttling.c                |    5 +-
 drivers/base/cpu.c                                 |    3 +
 drivers/char/agp/amd64-agp.c                       |    2 +-
 drivers/char/agp/nvidia-agp.c                      |    1 +
 drivers/char/mem.c                                 |   18 -
 drivers/cpufreq/acpi-cpufreq.c                     |    8 +-
 drivers/cpufreq/amd-pstate-ut.c                    |    8 +-
 drivers/cpufreq/amd-pstate.c                       |   22 +-
 drivers/cpufreq/amd_freq_sensitivity.c             |    2 +-
 drivers/cpufreq/e_powersaver.c                     |    6 +-
 drivers/cpufreq/elanfreq.c                         |    1 -
 drivers/cpufreq/intel_pstate.c                     |  108 +-
 drivers/cpufreq/longhaul.c                         |   24 +-
 drivers/cpufreq/powernow-k7.c                      |   14 +-
 drivers/cpufreq/sc520_freq.c                       |    1 -
 drivers/crypto/ccp/sev-dev.c                       |    3 +-
 drivers/dma/ioat/dca.c                             |    2 +-
 drivers/edac/amd64_edac.c                          |   10 +-
 drivers/edac/ie31200_edac.c                        |    1 +
 drivers/edac/mce_amd.c                             |    1 +
 drivers/firmware/efi/libstub/Makefile              |    1 -
 drivers/firmware/efi/libstub/x86-5lvl.c            |    2 +-
 drivers/gpu/drm/i915/selftests/librapl.c           |    4 +-
 drivers/hwmon/fam15h_power.c                       |    6 +-
 drivers/hwmon/hwmon-vid.c                          |    4 +
 drivers/hwmon/k10temp.c                            |    2 +-
 drivers/i2c/busses/Kconfig                         |    2 +-
 drivers/i2c/busses/i2c-piix4.c                     |   18 +-
 drivers/idle/intel_idle.c                          |   37 +-
 drivers/misc/cs5535-mfgpt.c                        |    1 +
 drivers/mtd/nand/raw/cs553x_nand.c                 |    6 +-
 drivers/net/vmxnet3/vmxnet3_drv.c                  |    4 +
 drivers/platform/x86/amd/hsmp/acpi.c               |    4 +-
 drivers/platform/x86/amd/hsmp/hsmp.c               |    2 +-
 drivers/platform/x86/amd/hsmp/plat.c               |    4 +-
 drivers/platform/x86/amd/pmc/mp1_stb.c             |    2 +-
 drivers/platform/x86/amd/pmc/pmc-quirks.c          |    3 +-
 drivers/platform/x86/amd/pmc/pmc.c                 |    2 +-
 drivers/platform/x86/amd/pmf/core.c                |    2 +-
 drivers/platform/x86/intel/ifs/core.c              |    5 +-
 drivers/platform/x86/intel/ifs/load.c              |   21 +-
 drivers/platform/x86/intel/ifs/runtest.c           |   17 +-
 drivers/platform/x86/intel/pmc/cnp.c               |    7 +-
 drivers/platform/x86/intel/pmc/core.c              |   10 +-
 .../x86/intel/speed_select_if/isst_if_common.c     |   19 +-
 .../x86/intel/speed_select_if/isst_if_mbox_msr.c   |   15 +-
 .../x86/intel/speed_select_if/isst_tpmi_core.c     |    3 +-
 drivers/platform/x86/intel/tpmi_power_domains.c    |    4 +-
 drivers/platform/x86/intel/turbo_max_3.c           |    5 +-
 .../x86/intel/uncore-frequency/uncore-frequency.c  |   11 +-
 drivers/platform/x86/intel_ips.c                   |   36 +-
 drivers/pnp/quirks.c                               |    2 +-
 drivers/powercap/intel_rapl_common.c               |    1 +
 drivers/powercap/intel_rapl_msr.c                  |    7 +-
 drivers/ras/amd/atl/internal.h                     |    4 +-
 .../int340x_thermal/processor_thermal_device.c     |    3 +-
 drivers/thermal/intel/intel_hfi.c                  |   14 +-
 drivers/thermal/intel/intel_powerclamp.c           |    4 +-
 drivers/thermal/intel/intel_tcc_cooling.c          |    5 +-
 drivers/thermal/intel/therm_throt.c                |   10 +-
 drivers/thermal/intel/x86_pkg_temp_thermal.c       |    1 +
 drivers/video/fbdev/geode/display_gx.c             |    1 +
 drivers/video/fbdev/geode/gxfb_core.c              |    3 +-
 drivers/video/fbdev/geode/lxfb_ops.c               |   23 +-
 drivers/video/fbdev/geode/suspend_gx.c             |   10 +-
 drivers/video/fbdev/geode/video_gx.c               |   16 +-
 include/asm-generic/vmlinux.lds.h                  |    4 +-
 include/hyperv/hvgdk_mini.h                        |    2 +-
 include/linux/cpu.h                                |    2 +
 include/linux/io.h                                 |   21 +
 include/linux/panic.h                              |    2 -
 include/linux/sched.h                              |   15 +-
 scripts/gdb/linux/pgtable.py                       |    4 +-
 sound/soc/amd/acp/acp-rembrandt.c                  |    2 +-
 sound/soc/amd/acp/acp63.c                          |    2 +-
 sound/soc/amd/acp/acp70.c                          |    2 +-
 sound/soc/intel/avs/tgl.c                          |    2 +-
 sound/soc/sof/amd/acp.c                            |    2 +-
 .../arch/x86/include/asm/{amd-ibs.h => amd/ibs.h}  |    2 +-
 tools/arch/x86/include/asm/cpufeatures.h           |   24 +-
 tools/arch/x86/include/asm/inat.h                  |    6 +
 tools/arch/x86/kcpuid/cpuid.csv                    |  791 +++++----
 tools/arch/x86/kcpuid/kcpuid.c                     |  375 ++--
 tools/arch/x86/lib/insn.c                          |    7 +-
 tools/arch/x86/lib/x86-opcode-map.txt              |   56 +-
 tools/arch/x86/tools/gen-insn-attr-x86.awk         |    7 +
 tools/objtool/arch/x86/decode.c                    |    6 +-
 tools/perf/check-headers.sh                        |    2 +-
 tools/perf/util/amd-sample-raw.c                   |    2 +-
 tools/testing/selftests/kexec/Makefile             |    7 +
 tools/testing/selftests/kexec/test_kexec_jump.c    |   72 +
 tools/testing/selftests/kexec/test_kexec_jump.sh   |   42 +
 tools/testing/selftests/x86/Makefile               |    3 +-
 tools/testing/selftests/x86/apx.c                  |   10 +
 tools/testing/selftests/x86/lam.c                  |    9 +-
 tools/testing/selftests/x86/xstate.c               |    3 +-
 tools/testing/selftests/x86/xstate.h               |    2 +
 408 files changed, 9285 insertions(+), 7697 deletions(-)
 create mode 100644 Documentation/admin-guide/hw-vuln/old_microcode.rst
 create mode 100644 Documentation/arch/x86/amd-debugging.rst
 create mode 100644 Documentation/arch/x86/resume.svg
 create mode 100644 Documentation/arch/x86/suspend.svg
 delete mode 100644 arch/x86/boot/compressed/pgtable.h
 create mode 100644 arch/x86/boot/compressed/sev-handle-vc.c
 create mode 100644 arch/x86/boot/startup/Makefile
 rename drivers/firmware/efi/libstub/x86-mixed.S => arch/x86/boot/startup/efi-mixed.S (100%)
 create mode 100644 arch/x86/boot/startup/gdt_idt.c
 rename arch/x86/boot/{compressed => startup}/la57toggle.S (99%)
 create mode 100644 arch/x86/boot/startup/map_kernel.c
 rename arch/x86/{coco/sev/shared.c => boot/startup/sev-shared.c} (52%)
 create mode 100644 arch/x86/boot/startup/sev-startup.c
 rename arch/x86/{mm/mem_encrypt_identity.c => boot/startup/sme.c} (96%)
 create mode 100644 arch/x86/coco/sev/sev-nmi.c
 create mode 100644 arch/x86/coco/sev/vc-handle.c
 create mode 100644 arch/x86/coco/sev/vc-shared.c
 create mode 100644 arch/x86/include/asm/amd/fch.h
 rename arch/x86/include/asm/{amd_hsmp.h => amd/hsmp.h} (100%)
 rename arch/x86/include/asm/{amd-ibs.h => amd/ibs.h} (98%)
 rename arch/x86/include/asm/{amd_nb.h => amd/nb.h} (98%)
 rename arch/x86/include/asm/{amd_node.h => amd/node.h} (100%)
 create mode 100644 arch/x86/include/asm/sev-internal.h
 create mode 100644 arch/x86/kernel/cpu/amd_cache_disable.c
 create mode 100644 arch/x86/kernel/cpu/cpuid_0x2_table.c
 create mode 100644 arch/x86/kernel/cpu/microcode/intel-ucode-defs.h
 delete mode 100644 arch/x86/mm/numa_32.c
 delete mode 100644 arch/x86/mm/numa_64.c
 delete mode 100644 arch/x86/mm/numa_internal.h
 rename tools/arch/x86/include/asm/{amd-ibs.h => amd/ibs.h} (99%)
 create mode 100644 tools/testing/selftests/kexec/test_kexec_jump.c
 create mode 100755 tools/testing/selftests/kexec/test_kexec_jump.sh
 create mode 100644 tools/testing/selftests/x86/apx.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ