LLVM/project 05bd49cbolt/lib/Core DIEBuilder.cpp, bolt/test/X86 dwarf5-locexpr-addrx.s

[BOLT] Fix DW_FORM_implicit_const values lost during DWARF5 rewriting

Summary:
Fix two bugs in DIEBuilder that caused DW_FORM_implicit_const values to
be zeroed out when rewriting DWARF5 debug sections (--update-debug-sections).

1. In constructDIEFast(), DWARFFormValue was constructed with just the
   form code, leaving the value at 0. For DW_FORM_implicit_const,
   extractValue() is a no-op since the value is expected to be pre-set.
   Fix: use AttrSpec.getFormValue() which initializes the value from the
   abbreviation table.

2. In assignAbbrev(), AddAttribute(Attr.getAttribute(), Attr.getForm())
   used the two-argument overload which discards the implicit_const
   value. Fix: use AddAttribute(Attr) to copy the full DIEAbbrevData.

Fixes https://github.com/llvm/llvm-project/issues/192084
DeltaFile
+2-2bolt/lib/Core/DIEBuilder.cpp
+2-0bolt/test/X86/dwarf5-locexpr-addrx.s
+4-22 files

LLVM/project 1a39343llvm/lib/Target/AMDGPU AMDGPULowerModuleLDSPass.cpp AMDGPULowerExecSync.cpp, llvm/test/CodeGen/AMDGPU lower-module-lds-link-time-global-scope.ll lower-module-lds-link-time-classify.ll

[AMDGPU] Add object linking support for LDS and named barrier lowering in the middle end (#191645)

This is the first patch in a series introducing object linking support
for AMDGPU.

This PR adds the `-amdgpu-enable-object-linking` flag to enable object
linking in the backend. It also updates the `AMDGPULowerModuleLDSPass`
and `AMDGPULowerExecSync` passes to support lowering LDS and named
barrier globals when object linking is enabled.
DeltaFile
+167-0llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+125-0llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-global-scope.ll
+73-0llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-classify.ll
+50-0llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-multi-user.ll
+44-0llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
+38-0llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-func.ll
+497-03 files not shown
+540-09 files

LLVM/project 59033e1clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded vpaire.c, clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded vpairo.c vpaire.c

Merge branch 'users/ziqingluo/PR-172429193-pre-2' into users/ziqingluo/PR-172429193-2-split-1
DeltaFile
+6,877-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
+5,336-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
+3,167-0llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-neon-instructions.s
+2,723-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
+2,723-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
+2,723-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
+23,549-0674 files not shown
+87,632-9,781680 files

LLVM/project 3a4d1c7llvm/lib/Target/RISCV/GISel RISCVInstructionSelector.cpp, llvm/test/CodeGen/RISCV/GlobalISel double-fcmp.ll float-fcmp.ll

[RISCV][GISel] Use a single FEQ for fcmp ord/uno x, x (#192022)

When both operands of an ORD/UNO compare are the same register,
the double-FEQ + AND sequence is redundant: a single FEQ x, x
gives the same result. Addresses the FIXME in selectFCmp.
DeltaFile
+69-0llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
+67-0llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll
+29-20llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
+165-203 files

Linux/linux ee60c51tools/include/nolibc stdio.h sys.h, tools/testing/selftests/nolibc nolibc-test.c

Merge tag 'nolibc-20260412-for-7.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc

Pull nolibc updates from Thomas Weißschuh:

 - Many new features and optimizations to printf()

 - Rename non-standard symbols to avoid collisions with application code

 - Support for byteswap.h, endian.h, err.h and asprintf()

 - 64-bit dev_t

 - Smaller cleanups and fixes to the code and build system

* tag 'nolibc-20260412-for-7.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc: (61 commits)
  selftests/nolibc: use gcc 15
  tools/nolibc: support UBSAN on gcc
  tools/nolibc: create __nolibc_no_sanitize_ubsan
  selftests/nolibc: don't skip tests for unimplemented syscalls anymore

    [17 lines not shown]
DeltaFile
+451-142tools/include/nolibc/stdio.h
+259-78tools/testing/selftests/nolibc/nolibc-test.c
+144-144tools/include/nolibc/sys.h
+87-92tools/include/nolibc/stdlib.h
+87-0tools/include/nolibc/err.h
+34-34tools/include/nolibc/time.h
+1,062-49049 files not shown
+1,469-77355 files

FreeBSD/ports 84a0bb7security/netbird distinfo Makefile

security/netbird: Update 0.66.3 => 0.68.3

Changelogs:
https://github.com/netbirdio/netbird/releases/tag/v0.66.4
https://github.com/netbirdio/netbird/releases/tag/v0.67.0
https://github.com/netbirdio/netbird/releases/tag/v0.67.1
https://github.com/netbirdio/netbird/releases/tag/v0.67.2
https://github.com/netbirdio/netbird/releases/tag/v0.67.3
https://github.com/netbirdio/netbird/releases/tag/v0.67.4
https://github.com/netbirdio/netbird/releases/tag/v0.68.0
https://github.com/netbirdio/netbird/releases/tag/v0.68.1
https://github.com/netbirdio/netbird/releases/tag/v0.68.2
https://github.com/netbirdio/netbird/releases/tag/v0.68.3

Commit log:
https://github.com/netbirdio/netbird/compare/v0.66.3...v0.68.3

PR:             294523
Sponsored by:   UNIS Labs
DeltaFile
+5-5security/netbird/distinfo
+1-2security/netbird/Makefile
+6-72 files

Linux/linux 3203a08arch/powerpc/kernel audit.c align.c, arch/powerpc/kexec crash.c

Merge tag 'powerpc-7.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc updates from Madhavan Srinivasan:

 - powerpc support for huge pfnmaps

 - Cleanups to use masked user access

 - Rework pnv_ioda_pick_m64_pe() to use better bitmap API

 - Convert powerpc to AUDIT_ARCH_COMPAT_GENERIC

 - Backup region offset update to eflcorehdr

 - Fixes for wii/ps3 platform

 - Implement JIT support for private stack in powerpc

 - Implement JIT support for fsession in powerpc64 trampoline

    [34 lines not shown]
DeltaFile
+164-15arch/powerpc/net/bpf_jit_comp.c
+0-87arch/powerpc/kernel/audit.c
+33-44arch/powerpc/lib/sstep.c
+33-42arch/powerpc/kernel/align.c
+64-0arch/powerpc/kexec/crash.c
+61-3arch/powerpc/net/bpf_jit_comp64.c
+355-19143 files not shown
+688-56749 files

HardenedBSD/ports 72fd4d6ports-mgmt/pkg distinfo

HBSD: Resolve merge conflict

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+0-6ports-mgmt/pkg/distinfo
+0-61 files

Linux/linux e6b162aarch/m68k/68000 entry.S

Merge tag 'm68knommu-for-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

Pull m68knommu update from Greg Ungerer:

 - fix task info flags handling for 68000 nommu

* tag 'm68knommu-for-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68k: Fix task info flags handling for 68000
DeltaFile
+13-8arch/m68k/68000/entry.S
+13-81 files

HardenedBSD/src bafff9arelease/tools ec2-builder.conf ec2-small.conf

HBSD: Resolve merge conflicts

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+0-5release/tools/ec2-builder.conf
+0-5release/tools/ec2-small.conf
+0-102 files

HardenedBSD/src 0c89907lib/libifconfig libifconfig_sfp.c sfp.lua, share/examples/sound mmap.c

Merge remote-tracking branch 'internal/freebsd/current/main' into hardened/current/master

Conflicts:
        release/tools/ec2-builder.conf (unresolved)
        release/tools/ec2-small.conf (unresolved)
DeltaFile
+450-0sys/net/cmis.h
+297-0share/examples/sound/mmap.c
+241-0tests/sys/cam/ctl/opcodes.sh
+227-1lib/libifconfig/libifconfig_sfp.c
+120-0lib/libifconfig/sfp.lua
+52-21sys/netinet/tcp_lro.c
+1,387-2240 files not shown
+1,783-14146 files

HardenedBSD/ports 31c976adatabases/qdrant distinfo Makefile.crates, devel/nextest distinfo

Merge remote-tracking branch 'internal/freebsd/main' into hardenedbsd/main

Conflicts:
        ports-mgmt/pkg/distinfo (unresolved)
DeltaFile
+861-795databases/qdrant/distinfo
+761-567security/agave/distinfo
+430-397databases/qdrant/Makefile.crates
+383-286security/agave/Makefile
+239-23misc/lean-ctx/distinfo
+99-101devel/nextest/distinfo
+2,773-2,16980 files not shown
+3,508-2,80586 files

LLVM/project d8331ballvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/VPlan conditional-scalar-assignment-vplan.ll icmp-uniforms.ll

[LV][VPlan] Print VPlan after construction and initial optimizations. NFC (#187443)

This patch add a helper pass `printOptimizedVPlan` to print the plan at
the end of the VPlan construction and optimize pipeline.

This patch enables the opportunity that we can further clamp and attach
VF range after `VPlanTransforms::optimize` and not changing the test
printing (#172799).
DeltaFile
+5-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-2llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
+2-2llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
+1-1llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
+1-1llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
+1-1llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
+12-714 files not shown
+26-2020 files

Linux/linux c43267eDocumentation/admin-guide/perf nvidia-tegra410-pmu.rst, arch/arm64/include/asm tlbflush.h

Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 updates from Catalin Marinas:
 "The biggest changes are MPAM enablement in drivers/resctrl and new PMU
  support under drivers/perf.

  On the core side, FEAT_LSUI lets futex atomic operations with EL0
  permissions, avoiding PAN toggling.

  The rest is mostly TLB invalidation refactoring, further generic entry
  work, sysreg updates and a few fixes.

  Core features:

   - Add support for FEAT_LSUI, allowing futex atomic operations without
     toggling Privileged Access Never (PAN)

   - Further refactor the arm64 exception handling code towards the
     generic entry infrastructure

    [76 lines not shown]
DeltaFile
+1,704-0drivers/resctrl/mpam_resctrl.c
+1,051-0drivers/perf/nvidia_t410_c2c_pmu.c
+736-0drivers/perf/nvidia_t410_cmem_latency_pmu.c
+612-6drivers/perf/arm_cspmu/nvidia_cspmu.c
+522-0Documentation/admin-guide/perf/nvidia-tegra410-pmu.rst
+263-208arch/arm64/include/asm/tlbflush.h
+4,888-21477 files not shown
+7,429-1,27283 files

HardenedBSD/src 6b00c65sys/netinet6 in6_pcb.c

inpcb: make in6_pcbdisconnect() just like in_pcbdisconnect()

Allow to be passed with already unconnected inpcb.

Fixes:  4fadf2466468dd6dcb6cf9e3739ed696a18c1bb4
DeltaFile
+3-0sys/netinet6/in6_pcb.c
+3-01 files

FreeBSD/src 6b00c65sys/netinet6 in6_pcb.c

inpcb: make in6_pcbdisconnect() just like in_pcbdisconnect()

Allow to be passed with already unconnected inpcb.

Fixes:  4fadf2466468dd6dcb6cf9e3739ed696a18c1bb4
DeltaFile
+3-0sys/netinet6/in6_pcb.c
+3-01 files

LLVM/project c9fd0dbllvm/cmake/modules LLVMExternalProjectUtils.cmake, llvm/utils/release build_llvm_release.bat

[CMake] Pass ZLIB_LIBRARY_* to runtimes bootstrap (#191555)

Runtimes external project (compiler-rt / combined runtimes) reconfigures
with an initial cache that did not propagate `ZLIB_LIBRARY_RELEASE`.
CMake 4.x `FindZLIB` may leave `ZLIB_LIBRARY` unset while finding
headers, leading to:
```
   -- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "...")
```
and later when loading LLVM exports from the main build:
```
   The link interface of target "LLVMSupport" contains: ZLIB::ZLIB
   but the target was not found.
```
This was found by building the Windows installer with:
```
llvm\utils\release\build_llvm_release.bat --x64 --version 23.0.0 --skip-checkout --local-python
```
DeltaFile
+2-0llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+2-0llvm/utils/release/build_llvm_release.bat
+4-02 files

LLVM/project f09850aflang/lib/Optimizer/CodeGen CodeGen.cpp, flang/test/Fir/CUDA cuda-code-gen.mlir

[flang][CodeGen] Fix address space mismatch for CUF globals in AddrOfOpConversion (#190408)

AddrOfOpConversion in CodeGen.cpp only handled `LLVM::GlobalOp` when
determining the address space for `llvm.mlir.addressof`. When the global
was still a `fir::GlobalOp` (not yet converted), it fell back to address
space 0, breaking CUF constant globals (addr_space 4) and AMDGPU targets
(global addr_space 1).

This extends the upstream fix (#192111, which only covered Constant) to
also handle Shared and Managed CUF data attributes, and returns
`std::nullopt` instead of 0 for non-CUF globals so the target's default
address space is preserved.
DeltaFile
+34-20flang/lib/Optimizer/CodeGen/CodeGen.cpp
+43-1flang/test/Fir/CUDA/cuda-code-gen.mlir
+77-212 files

LLVM/project 21508ceclang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+15-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+15-01 files

LLVM/project 8d0997flldb/packages/Python/lldbsuite/test lldbutil.py

[lldb][debugserver] Fix lldb testsuite routine parsing logs (#192157)

I changed how lldb and debugserver fetch binaries when attaching to a
process (only fetching the addresses of binaries, not the detailed
information) but a utility function was parsing the log file and
expected the detailed information in the initial response. Updated it to
expect detailed information in the initial response, or in the
subsequent query when the first response is addresses-only.
DeltaFile
+39-5lldb/packages/Python/lldbsuite/test/lldbutil.py
+39-51 files

HardenedBSD/ports 7006b75ports-mgmt/pkg distinfo Makefile

HBSD: Bump ports-mgmt/pkg to 2.7.1

This also resolves the merge conflict in ports-mgmt/pkg/distinfo.

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+3-9ports-mgmt/pkg/distinfo
+2-2ports-mgmt/pkg/Makefile
+5-112 files

HardenedBSD/ports 6119517deskutils/taskwarrior-tui distinfo Makefile.crates, editors/zed distinfo

Merge remote-tracking branch 'origin/freebsd/main' into hardenedbsd/main

Conflicts:
        ports-mgmt/pkg/distinfo (unresolved)
DeltaFile
+801-487x11/rio/distinfo
+714-161misc/nanocoder/pkg-plist
+400-244x11/rio/Makefile
+247-255deskutils/taskwarrior-tui/distinfo
+137-135editors/zed/distinfo
+122-126deskutils/taskwarrior-tui/Makefile.crates
+2,421-1,408254 files not shown
+3,985-2,851260 files

LLVM/project af9ebd2llvm/lib/Target/BPF BTFDebug.cpp BPFISelLowering.cpp, llvm/test/CodeGen/BPF warn-call.ll

Fixes for compile rust code (#192134)

Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>
DeltaFile
+38-0llvm/test/CodeGen/BPF/BTF/char-utf.ll
+32-0llvm/test/CodeGen/BPF/BTF/array-no-dimension.ll
+8-0llvm/lib/Target/BPF/BTFDebug.cpp
+2-3llvm/test/CodeGen/BPF/warn-call.ll
+2-1llvm/lib/Target/BPF/BPFISelLowering.cpp
+82-45 files

LLVM/project 282b272clang/lib/CIR/CodeGen CIRGenExpr.cpp, clang/test/CIR/CodeGen cast-cxx20.cpp

[CIR] Implement array-to-incomplete-array cast (#192138)

This is a noop cast that is allowed in some situations in C++20, and is
validated with one of the test suites. This patch adds a very defensive
NYI diagnostic to replace the other one, plus implements the array decay
case.
DeltaFile
+55-0clang/test/CIR/CodeGen/cast-cxx20.cpp
+15-3clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+70-32 files

Linux/linux 508fed6arch/x86/include/asm mce.h, arch/x86/kernel/cpu/mce amd.c

Merge tag 'ras_core_for_v7.1_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull RAS updates from Borislav Petkov:

 - Add new AMD MCA bank names and types to the MCA code, preceded by a
   clean up of the relevant places to have them more developer-friendly
   (read: sort them alphanumerically and clean up comments) such that
   adding new banks is easy

* tag 'ras_core_for_v7.1_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mce, EDAC/mce_amd: Add new SMCA bank types
  x86/mce, EDAC/mce_amd: Update CS bank type naming
  x86/mce, EDAC/mce_amd: Reorder SMCA bank type enums
DeltaFile
+70-68arch/x86/kernel/cpu/mce/amd.c
+39-23arch/x86/include/asm/mce.h
+29-19drivers/edac/mce_amd.c
+138-1103 files

Linux/linux 1834703drivers/edac versalnet_edac.c edac_device_sysfs.c, include/linux edac.h

Merge tag 'edac_updates_for_v7.1_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras

Pull EDAC updates from Borislav Petkov:

 - amd64_edac: Add support for AMD Zen 3 (family 19h, models 40h–4fh)

 - i10nm: Add GNR error information decoder support as an alternative to
   the firmware decoder

 - versalnet: Restructure the init/teardown logic for correct and more
   readable error handling. Also, fix two memory leaks and a resource
   leak

 - Convert several internal structs to use bounded flex arrays, enabling
   the kernel's runtime checker to catch out-of-bounds memory accesses

 - Mark various sysfs attribute tables read-only, preventing accidental
   modification at runtime


    [20 lines not shown]
DeltaFile
+107-85drivers/edac/versalnet_edac.c
+10-14drivers/edac/edac_device_sysfs.c
+12-11include/linux/edac.h
+15-1drivers/edac/i10nm_base.c
+4-11drivers/edac/i7core_edac.c
+3-11drivers/edac/sb_edac.c
+151-1337 files not shown
+165-14913 files

LLVM/project 18519f3lld/COFF DriverUtils.cpp, lld/test/COFF subsystem.test

[lld][llvm-objcopy] Enable Xbox subsystem for PE images. (#191779)

This patch enables selecting the Xbox subsystem (IMAGE_SUBSYSTEM_XBOX)
for PE images. Certain existing tools used in the Xbox homebrew scene
expect images to use the Xbox subsystem, so it's nice to be able to set
this within the LLVM toolchain instead of invoking yet another tool or
manually patching the binaries.
DeltaFile
+13-11lld/COFF/DriverUtils.cpp
+10-0lld/test/COFF/subsystem.test
+5-0llvm/test/tools/llvm-objcopy/COFF/subsystem.test
+1-0llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
+29-114 files

LLVM/project 392f76aflang/include/flang/Optimizer/Support Utils.h, flang/lib/Optimizer/Analysis AliasAnalysis.cpp

[flang] Recognize generic allocations in Flang LICM. (#191923)

Instead of matching particular operations like `fir.alloca`
we can use `MemoryEffectOpInterface` to figure out if a location
is a new allocation.
DeltaFile
+59-0flang/test/Transforms/licm-allocmem-cufaloc.mlir
+15-23flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
+12-9flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
+17-0flang/lib/Optimizer/Support/Utils.cpp
+7-0flang/include/flang/Optimizer/Support/Utils.h
+110-325 files

LLVM/project 5d7a143clang/lib/StaticAnalyzer/Core AnalyzerOptions.cpp, clang/unittests/StaticAnalyzer AnalyzerFormattingTest.cpp CMakeLists.txt

[analyzer] Fix alignment of entries in -analyzer-help (#190570)

Fix a formatting bug in `AnalyzerOptions::printFormattedEntry` (used by
`clang -cc1 -print-analyzer-options`), which led to misalignment of a
checker description.

This commit ensures that `printFormattedEntry` inserts a newline in the
corner case when the length of the name of a checker is exactly equal to
`EntryWidth`. (In this situation the old code inserted a space between
the name and the description, so this description was not aligned with
the other descriptions.)

Additionally this commit also fixes the corner case where the pad before
the checker name (specified by `InitialPad`) is 0. Before the fix, due
to `llvm::raw_formatted_ostream::PadToColumn` logic, `InitialPad = 0`
still added one space character as padding before the checker name.
Fortunately `InitialPad = 0` was never used in the program, so this bug
was not visible to the user.

These changes are both tested by the freshly added unit tests.
DeltaFile
+187-0clang/unittests/StaticAnalyzer/AnalyzerFormattingTest.cpp
+8-3clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
+1-0clang/unittests/StaticAnalyzer/CMakeLists.txt
+196-33 files

Linux/linux 60b8d4darch/x86/boot/compressed sev.c, arch/x86/include/asm sev.h

Merge tag 'x86_sev_for_v7.1_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 SEV updates from Borislav Petkov:

 - Change the SEV host code handling of when SNP gets enabled in order
   to allow the machine to claim SNP-related resources only when SNP
   guests are really going to be launched. The user requests this by
   loading the ccp module and thus it controls when SNP initialization
   is done

   So export an API which module code can call and do the necessary SNP
   setup only when really needed

 - Drop an unnecessary write-back and invalidate operation that was
   being performed too early, since the ccp driver already issues its
   own at the correct point in the initialization sequence

 - Drop the hotplug callbacks for enabling SNP on newly onlined CPUs,
   which were both architecturally unsound (the firmware rejects

    [17 lines not shown]
DeltaFile
+98-83arch/x86/virt/svm/sev.c
+35-27drivers/crypto/ccp/sev-dev.c
+3-3arch/x86/boot/compressed/sev.c
+4-1include/linux/psp-sev.h
+4-0arch/x86/include/asm/sev.h
+144-1145 files