X86 fixes:

    - Prevent a deadlock on cpu_hotplug_lock in the aperf/mperf driver.

      A recent change in the ACPI code which consolidated code pathes moved
      the invocation of init_freq_invariance_cppc() to be moved to a CPU
      hotplug handler. The first invocation on AMD CPUs ends up enabling a
      static branch which dead locks because the static branch enable tries to
      acquire cpu_hotplug_lock but that lock is already held write by the
      hotplug machinery.

      Use static_branch_enable_cpuslocked() instead and take the hotplug
      lock read for the Intel code path which is invoked from the
      architecture code outside of the CPU hotplug operations.

    - Fix the number of reserved bits in the sev_config structure bit field
      so that the bitfield does not exceed 64 bit.

    - Add missing Zen5 model numbers

    - Fix the alignment assumptions of pti_clone_pgtable() and
      clone_entry_text() on 32-bit:

      The code assumes PMD aligned code sections, but on 32-bit the kernel
      entry text is not PMD aligned. So depending on the code size and
      location, which is configuration and compiler dependent, entry text
      can cross a PMD boundary. As the start is not PMD aligned adding PMD
      size to the start address is larger than the end address which
      results in partially mapped entry code for user space. That causes
      endless recursion on the first entry from userspace (usually #PF).

      Cure this by aligning the start address in the addition so it ends up
      at the next PMD start address.

      clone_entry_text() enforces PMD mapping, but on 32-bit the tail might
      eventually be PTE mapped, which causes a map fail because the PMD for
      the tail is not a large page mapping. Use PTI_LEVEL_KERNEL_IMAGE for
      the clone() invocation which resolves to PTE on 32-bit and PMD on
      64-bit.

    - Zero the 8-byte case for get_user() on range check failure on 32-bit

      The recend consolidation of the 8-byte get_user() case broke the
      zeroing in the failure case again. Establish it by clearing ECX
      before the range check and not afterwards as that obvioulsy can't be
      reached when the range check fails