• Linus Torvalds's avatar
    Merge tag 's390-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 47477c84
    Linus Torvalds authored
    Pull s390 updates from Alexander Gordeev:
    
     - Factor out handle_write() function and simplify 3215 console write
       operation
    
     - When 3170 terminal emulator is connected to the 3215 console driver
       the boot time could be very long due to limited buffer space or
       missing operator input. Add con3215_drop command line parameter and
       con3215_drop sysfs attribute file to instruct the kernel drop console
       data when such conditions are met
    
     - Fix white space errors in 3215 console driver
    
     - Move enum paiext_mode definition to a header file and rename it to
       paievt_mode to indicate this is now used for several events. Rename
       PAI_MODE_COUNTER to PAI_MODE_COUNTING to make consistent with
       PAI_MODE_SAMPLING
    
     - Simplify the logic of PMU pai_crypto mapped buffer reference counter
       and make it consistent with PMU pai_ext
    
     - Rename PMU pai_crypto mapped buffer structure member users to
       active_events to make it consistent with PMU pai_ext
    
     - Enable HUGETLB_PAGE_OPTIMIZE_VMEMMAP configuration option. This
       results in saving of 12K per 1M hugetlb page (~1.2%) and 32764K per
       2G hugetlb page (~1.6%)
    
     - Use generic serial.h, bugs.h, shmparam.h and vga.h header files and
       scrap s390-specific versions
    
     - The generic percpu setup code does not expect the s390-like
       implementation and emits a warning. To get rid of that warning and
       provide sane CPU-to-node and CPU-to-CPU distance mappings implementat
       a minimal version of setup_per_cpu_areas()
    
     - Use kstrtobool() instead of strtobool() for re-IPL sysfs device
       attributes
    
     - Avoid unnecessary lookup of a pointer to MSI descriptor when setting
       IRQ affinity for a PCI device
    
     - Get rid of "an incompatible function type cast" warning by changing
       debug_sprintf_format_fn() function prototype so it matches the
       debug_format_proc_t function type
    
     - Remove unused info_blk_hdr__pcpus() and get_page_state() functions
    
     - Get rid of clang "unused unused insn cache ops function" warning by
       moving s390_insn definition to a private header
    
     - Get rid of clang "unused function" warning by making function
       raw3270_state_final() only available if CONFIG_TN3270_CONSOLE is
       enabled
    
     - Use kstrobool() to parse sclp_con_drop parameter to make it identical
       to the con3215_drop parameter and allow passing values like "yes" and
       "true"
    
     - Use sysfs_emit() for all SCLP sysfs show functions, which is the
       current standard way to generate output strings
    
     - Make SCLP con_drop sysfs attribute also writable and allow to change
       its value during runtime. This makes SCLP console drop handling
       consistent with the 3215 device driver
    
     - Virtual and physical addresses are indentical on s390. However, there
       is still a confusion when pointers are directly casted to physical
       addresses or vice versa. Use correct address converters
       virt_to_phys() and phys_to_virt() for s390 channel IO drivers
    
     - Support for power managemant has been removed from s390 since quite
       some time. Remove unused power managemant code from the appldata
       device driver
    
     - Allow memory tools like KASAN see memory accesses from the checksum
       code. Switch to GENERIC_CSUM if KASAN is enabled, just like x86 does
    
     - Add support of ECKD DASDs disks so it could be used as boot and dump
       devices
    
     - Follow checkpatch recommendations and use octal values instead of
       S_IRUGO and S_IWUSR for dump device attributes in sysfs
    
     - Changes to vx-insn.h do not cause a recompile of C files that use
       asm(".include \"asm/vx-insn.h\"\n") magic to access vector
       instruction macros from inline assemblies. Add wrapper include header
       file to avoid this problem
    
     - Use vector instruction macros instead of byte patterns to increase
       register validation routine readability
    
     - The current machine check register validation handling does not take
       into account various scenarios and might lead to killing a wrong user
       process or potentially ignore corrupted FPU registers. Simplify logic
       of the machine check handler and stop the whole machine if the
       previous context was kerenel mode. If the previous context was user
       mode, kill the current task
    
     - Introduce sclp_emergency_printk() function which can be used to emit
       a message in emergency cases. It is supposed to be used in cases
       where regular console device drivers may not work anymore, e.g.
       unrecoverable machine checks
    
       Keep the early Service-Call Control Block so it can also be used
       after initdata has been freed to allow sclp_emergency_printk()
       implementation
    
     - In case a system will be stopped because of an unrecoverable machine
       check error print the machine check interruption code to give a hint
       of what went wrong
    
     - Move storage error checking from the assembly entry code to C in
       order to simplify machine check handling. Enter the handler with DAT
       turned on, which simplifies the entry code even more
    
     - The machine check extended save areas are allocated using a private
       "nmi_save_areas" slab cache which guarantees a required power-of-two
       alignment. Get rid of that cache in favour of kmalloc()
    
    * tag 's390-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (38 commits)
      s390/nmi: get rid of private slab cache
      s390/nmi: move storage error checking back to C, enter with DAT on
      s390/nmi: print machine check interruption code before stopping system
      s390/sclp: introduce sclp_emergency_printk()
      s390/sclp: keep sclp_early_sccb
      s390/nmi: rework register validation handling
      s390/nmi: use vector instruction macros instead of byte patterns
      s390/vx: add vx-insn.h wrapper include file
      s390/ipl: use octal values instead of S_* macros
      s390/ipl: add eckd dump support
      s390/ipl: add eckd support
      vfio/ccw: identify CCW data addresses as physical
      vfio/ccw: sort out physical vs virtual pointers usage
      s390/checksum: support GENERIC_CSUM, enable it for KASAN
      s390/appldata: remove power management callbacks
      s390/cio: sort out physical vs virtual pointers usage
      s390/sclp: allow to change sclp_console_drop during runtime
      s390/sclp: convert to use sysfs_emit()
      s390/sclp: use kstrobool() to parse sclp_con_drop parameter
      s390/3270: make raw3270_state_final() depend on CONFIG_TN3270_CONSOLE
      ...
    47477c84
perf_pai_ext.c 18.5 KB