Merge tag 's390-7.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Alexander Gordeev: - Enable IOMMUFD and VFIO cdev such that PCI pass-through to QEMU/KVM can optionally utilize native IOMMUFD - With HAVE_ARCH_BUG_FORMAT enabled the BUG infrastructure might misinterpret flags or fault. Fix this by moving the "format" field emission into __BUG_ENTRY() - The generic version of _THIS_IP_ is known to be brittle and may break with current and future GCC and Clang optimizations. Fix it by overriding _THIS_IP_ * tag 's390-7.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390: Implement _THIS_IP_ using inline asm s390/bug: Always emit format word in __BUG_ENTRY s390/configs: Enable IOMMUFD and VFIO cdev in defconfigs
This commit is contained in:
commit
6a08076f00
4 files changed
+16
-6
No files matched your search
@@ -56,6 +56,10 @@ CONFIG_EXPOLINE_AUTO=y
|
|||||||
CONFIG_CHSC_SCH=y
|
CONFIG_CHSC_SCH=y
|
||||||
CONFIG_VFIO_CCW=m
|
CONFIG_VFIO_CCW=m
|
||||||
CONFIG_VFIO_AP=m
|
CONFIG_VFIO_AP=m
|
||||||
|
CONFIG_VFIO_DEVICE_CDEV=y
|
||||||
|
CONFIG_IOMMUFD_DRIVER=y
|
||||||
|
CONFIG_IOMMUFD_DRIVER_CORE=y
|
||||||
|
CONFIG_IOMMUFD=y
|
||||||
CONFIG_CMM=m
|
CONFIG_CMM=m
|
||||||
CONFIG_APPLDATA_BASE=y
|
CONFIG_APPLDATA_BASE=y
|
||||||
CONFIG_S390_HYPFS_FS=y
|
CONFIG_S390_HYPFS_FS=y
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ CONFIG_EXPOLINE_AUTO=y
|
|||||||
CONFIG_CHSC_SCH=y
|
CONFIG_CHSC_SCH=y
|
||||||
CONFIG_VFIO_CCW=m
|
CONFIG_VFIO_CCW=m
|
||||||
CONFIG_VFIO_AP=m
|
CONFIG_VFIO_AP=m
|
||||||
|
CONFIG_VFIO_DEVICE_CDEV=y
|
||||||
|
CONFIG_IOMMUFD_DRIVER=y
|
||||||
|
CONFIG_IOMMUFD_DRIVER_CORE=y
|
||||||
|
CONFIG_IOMMUFD=y
|
||||||
CONFIG_CMM=m
|
CONFIG_CMM=m
|
||||||
CONFIG_APPLDATA_BASE=y
|
CONFIG_APPLDATA_BASE=y
|
||||||
CONFIG_S390_HYPFS_FS=y
|
CONFIG_S390_HYPFS_FS=y
|
||||||
|
|||||||
@@ -12,12 +12,11 @@
|
|||||||
#if defined(CONFIG_BUG) && defined(CONFIG_CC_HAS_ASM_IMMEDIATE_STRINGS)
|
#if defined(CONFIG_BUG) && defined(CONFIG_CC_HAS_ASM_IMMEDIATE_STRINGS)
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
||||||
#define __BUG_ENTRY_VERBOSE(format, file, line) \
|
#define __BUG_ENTRY_VERBOSE(file, line) \
|
||||||
" .long " format " - . # bug_entry::format\n" \
|
|
||||||
" .long " file " - . # bug_entry::file\n" \
|
" .long " file " - . # bug_entry::file\n" \
|
||||||
" .short " line " # bug_entry::line\n"
|
" .short " line " # bug_entry::line\n"
|
||||||
#else
|
#else
|
||||||
#define __BUG_ENTRY_VERBOSE(format, file, line)
|
#define __BUG_ENTRY_VERBOSE(file, line)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_BUGVERBOSE_DETAILED
|
#ifdef CONFIG_DEBUG_BUGVERBOSE_DETAILED
|
||||||
@@ -28,9 +27,10 @@
|
|||||||
|
|
||||||
#define __BUG_ENTRY(format, file, line, flags, size) \
|
#define __BUG_ENTRY(format, file, line, flags, size) \
|
||||||
" .section __bug_table,\"aw\"\n" \
|
" .section __bug_table,\"aw\"\n" \
|
||||||
"1: .long 0b - . # bug_entry::bug_addr\n" \
|
"1: .long 0b - . # bug_entry::bug_addr\n"\
|
||||||
__BUG_ENTRY_VERBOSE(format, file, line) \
|
" .long " format " - . # bug_entry::format\n" \
|
||||||
" .short "flags" # bug_entry::flags\n" \
|
__BUG_ENTRY_VERBOSE(file, line) \
|
||||||
|
" .short "flags" # bug_entry::flags\n" \
|
||||||
" .org 1b+"size"\n" \
|
" .org 1b+"size"\n" \
|
||||||
" .previous"
|
" .previous"
|
||||||
|
|
||||||
|
|||||||
@@ -7,4 +7,6 @@
|
|||||||
#define __ALIGN .balign CONFIG_FUNCTION_ALIGNMENT, 0x07
|
#define __ALIGN .balign CONFIG_FUNCTION_ALIGNMENT, 0x07
|
||||||
#define __ALIGN_STR __stringify(__ALIGN)
|
#define __ALIGN_STR __stringify(__ALIGN)
|
||||||
|
|
||||||
|
#define _THIS_IP_ ({ unsigned long __ip; asm volatile("larl %0, ." : "=d" (__ip)); __ip; })
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Reference in new issue
Block a user