1. 14 May, 2024 30 commits
  2. 13 May, 2024 1 commit
    • Linus Torvalds's avatar
      Merge tag 's390-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · d65e1a0f
      Linus Torvalds authored
      Pull s390 updates from Alexander Gordeev:
      
       - Store AP Query Configuration Information in a static buffer
      
       - Rework the AP initialization and add missing cleanups to the error
         path
      
       - Swap IRQ and AP bus/device registration to avoid race conditions
      
       - Export prot_virt_guest symbol
      
       - Introduce AP configuration changes notifier interface to facilitate
         modularization of the AP bus
      
       - Add CONFIG_AP kernel configuration option to allow modularization of
         the AP bus
      
       - Rework CONFIG_ZCRYPT_DEBUG kernel configuration option description
         and dependency and rename it to CONFIG_AP_DEBUG
      
       - Convert sprintf() and snprintf() to sysfs_emit() in CIO code
      
       - Adjust indentation of RELOCS command build step
      
       - Make crypto performance counters upward compatible
      
       - Convert make_page_secure() and gmap_make_secure() to use folio
      
       - Rework channel-utilization-block (CUB) handling in preparation of
         introducing additional CUBs
      
       - Use attribute groups to simplify registration, removal and extension
         of measurement-related channel-path sysfs attributes
      
       - Add a per-channel-path binary "ext_measurement" sysfs attribute that
         provides access to extended channel-path measurement data
      
       - Export measurement data for all channel-measurement-groups (CMG), not
         only for a specific ones. This enables support of new CMG data
         formats in userspace without the need for kernel changes
      
       - Add a per-channel-path sysfs attribute "speed_bps" that provides the
         operating speed in bits per second or 0 if the operating speed is not
         available
      
       - The CIO tracepoint subchannel-type field "st" is incorrectly set to
         the value of subchannel-enabled SCHIB "ena" field. Fix that
      
       - Do not forcefully limit vmemmap starting address to MAX_PHYSMEM_BITS
      
       - Consider the maximum physical address available to a DCSS segment
         (512GB) when memory layout is set up
      
       - Simplify the virtual memory layout setup by reducing the size of
         identity mapping vs vmemmap overlap
      
       - Swap vmalloc and Lowcore/Real Memory Copy areas in virtual memory.
         This will allow to place the kernel image next to kernel modules
      
       - Move everyting KASLR related from <asm/setup.h> to <asm/page.h>
      
       - Put virtual memory layout information into a structure to improve
         code generation
      
       - Currently __kaslr_offset is the kernel offset in both physical and
         virtual memory spaces. Uncouple these offsets to allow uncoupling of
         the addresses spaces
      
       - Currently the identity mapping base address is implicit and is always
         set to zero. Make it explicit by putting into __identity_base
         persistent boot variable and use it in proper context
      
       - Introduce .amode31 section start and end macros AMODE31_START and
         AMODE31_END
      
       - Introduce OS_INFO entries that do not reference any data in memory,
         but rather provide only values
      
       - Store virtual memory layout in OS_INFO. It is read out by
         makedumpfile, crash and other tools
      
       - Store virtual memory layout in VMCORE_INFO. It is read out by crash
         and other tools when /proc/kcore device is used
      
       - Create additional PT_LOAD ELF program header that covers kernel image
         only, so that vmcore tools could locate kernel text and data when
         virtual and physical memory spaces are uncoupled
      
       - Uncouple physical and virtual address spaces
      
       - Map kernel at fixed location when KASLR mode is disabled. The
         location is defined by CONFIG_KERNEL_IMAGE_BASE kernel configuration
         value.
      
       - Rework deployment of kernel image for both compressed and
         uncompressed variants as defined by CONFIG_KERNEL_UNCOMPRESSED kernel
         configuration value
      
       - Move .vmlinux.relocs section in front of the compressed kernel. The
         interim section rescue step is avoided as result
      
       - Correct modules thunk offset calculation when branch target is more
         than 2GB away
      
       - Kernel modules contain their own set of expoline thunks. Now that the
         kernel modules area is less than 4GB away from kernel expoline
         thunks, make modules use kernel expolines. Also make EXPOLINE_EXTERN
         the default if the compiler supports it
      
       - userfaultfd can insert shared zeropages into processes running VMs,
         but that is not allowed for s390. Fallback to allocating a fresh
         zeroed anonymous folio and insert that instead
      
       - Re-enable shared zeropages for non-PV and non-skeys KVM guests
      
       - Rename hex2bitmap() to ap_hex2bitmap() and export it for external use
      
       - Add ap_config sysfs attribute to provide the means for setting or
         displaying adapters, domains and control domains assigned to a
         vfio-ap mediated device in a single operation
      
       - Make vfio_ap_mdev_link_queue() ignore duplicate link requests
      
       - Add write support to ap_config sysfs attribute to allow atomic update
         a vfio-ap mediated device state
      
       - Document ap_config sysfs attribute
      
       - Function os_info_old_init() is expected to be called only from a
         regular kdump kernel. Enable it to be called from a stand-alone dump
         kernel
      
       - Address gcc -Warray-bounds warning and fix array size in struct
         os_info
      
       - s390 does not support SMBIOS, so drop unneeded CONFIG_DMI checks
      
       - Use unwinder instead of __builtin_return_address() with ftrace to
         prevent returning of undefined values
      
       - Sections .hash and .gnu.hash are only created when CONFIG_PIE_BUILD
         kernel is enabled. Drop these for the case CONFIG_PIE_BUILD is
         disabled
      
       - Compile kernel with -fPIC and link with -no-pie to allow kpatch
         feature always succeed and drop the whole CONFIG_PIE_BUILD
         option-enabled code
      
       - Add missing virt_to_phys() converter for VSIE facility and crypto
         control blocks
      
      * tag 's390-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (54 commits)
        Revert "s390: Relocate vmlinux ELF data to virtual address space"
        KVM: s390: vsie: Use virt_to_phys for crypto control block
        s390: Relocate vmlinux ELF data to virtual address space
        s390: Compile kernel with -fPIC and link with -no-pie
        s390: vmlinux.lds.S: Drop .hash and .gnu.hash for !CONFIG_PIE_BUILD
        s390/ftrace: Use unwinder instead of __builtin_return_address()
        s390/pci: Drop unneeded reference to CONFIG_DMI
        s390/os_info: Fix array size in struct os_info
        s390/os_info: Initialize old os_info in standalone dump kernel
        docs: Update s390 vfio-ap doc for ap_config sysfs attribute
        s390/vfio-ap: Add write support to sysfs attr ap_config
        s390/vfio-ap: Ignore duplicate link requests in vfio_ap_mdev_link_queue
        s390/vfio-ap: Add sysfs attr, ap_config, to export mdev state
        s390/ap: Externalize AP bus specific bitmap reading function
        s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests
        mm/userfaultfd: Do not place zeropages when zeropages are disallowed
        s390/expoline: Make modules use kernel expolines
        s390/nospec: Correct modules thunk offset calculation
        s390/boot: Do not rescue .vmlinux.relocs section
        s390/boot: Rework deployment of the kernel image
        ...
      d65e1a0f
  3. 12 May, 2024 5 commits
  4. 11 May, 2024 4 commits