# git rev-parse -q --verify 341d041daae52cd5f014f68c1c7d9039db818fca^{commit} 341d041daae52cd5f014f68c1c7d9039db818fca already have revision, skipping fetch # git checkout -q -f -B kisskb 341d041daae52cd5f014f68c1c7d9039db818fca # git clean -qxdf # < git log -1 # commit 341d041daae52cd5f014f68c1c7d9039db818fca # Merge: 51ae62a12c24 6d026e6d48cd # Author: Linus Torvalds # Date: Thu Nov 21 12:40:50 2024 -0800 # # Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd # # Pull iommufd updates from Jason Gunthorpe: # "Several new features and uAPI for iommufd: # # - IOMMU_IOAS_MAP_FILE allows passing in a file descriptor as the # backing memory for an iommu mapping. To date VFIO/iommufd have used # VMA's and pin_user_pages(), this now allows using memfds and # memfd_pin_folios(). Notably this creates a pure folio path from the # memfd to the iommu page table where memory is never broken down to # PAGE_SIZE. # # - IOMMU_IOAS_CHANGE_PROCESS moves the pinned page accounting between # two processes. Combined with the above this allows iommufd to # support a VMM re-start using exec() where something like qemu would # exec() a new version of itself and fd pass the memfds/iommufd/etc # to the new process. The memfd allows DMA access to the memory to # continue while the new process is getting setup, and the # CHANGE_PROCESS updates all the accounting. # # - Support for fault reporting to userspace on non-PRI HW, such as ARM # stall-mode embedded devices. # # - IOMMU_VIOMMU_ALLOC introduces the concept of a HW/driver backed # virtual iommu. This will be used by VMMs to access hardware # features that are contained with in a VM. The first use is to # inform the kernel of the virtual SID to physical SID mapping when # issuing SID based invalidation on ARM. Further uses will tie HW # features that are directly accessed by the VM, such as invalidation # queue assignment and others. # # - IOMMU_VDEVICE_ALLOC informs the kernel about the mapping of virtual # device to physical device within a VIOMMU. Minimially this is used # to translate VM issued cache invalidation commands from virtual to # physical device IDs. # # - Enhancements to IOMMU_HWPT_INVALIDATE and IOMMU_HWPT_ALLOC to work # with the VIOMMU # # - ARM SMMuv3 support for nested translation. Using the VIOMMU and # VDEVICE the driver can model this HW's behavior for nested # translation. This includes a shared branch from Will" # # * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (51 commits) # iommu/arm-smmu-v3: Import IOMMUFD module namespace # iommufd: IOMMU_IOAS_CHANGE_PROCESS selftest # iommufd: Add IOMMU_IOAS_CHANGE_PROCESS # iommufd: Lock all IOAS objects # iommufd: Export do_update_pinned # iommu/arm-smmu-v3: Support IOMMU_HWPT_INVALIDATE using a VIOMMU object # iommu/arm-smmu-v3: Allow ATS for IOMMU_DOMAIN_NESTED # iommu/arm-smmu-v3: Use S2FWB for NESTED domains # iommu/arm-smmu-v3: Support IOMMU_DOMAIN_NESTED # iommu/arm-smmu-v3: Support IOMMU_VIOMMU_ALLOC # Documentation: userspace-api: iommufd: Update vDEVICE # iommufd/selftest: Add vIOMMU coverage for IOMMU_HWPT_INVALIDATE ioctl # iommufd/selftest: Add IOMMU_TEST_OP_DEV_CHECK_CACHE test command # iommufd/selftest: Add mock_viommu_cache_invalidate # iommufd/viommu: Add iommufd_viommu_find_dev helper # iommu: Add iommu_copy_struct_from_full_user_array helper # iommufd: Allow hwpt_id to carry viommu_id for IOMMU_HWPT_INVALIDATE # iommu/viommu: Add cache_invalidate to iommufd_viommu_ops # iommufd/selftest: Add IOMMU_VDEVICE_ALLOC test coverage # iommufd/viommu: Add IOMMUFD_OBJ_VDEVICE and IOMMU_VDEVICE_ALLOC ioctl # ... # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 341d041daae52cd5f014f68c1c7d9039db818fca # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- help # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- olddefconfig # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:85: Warning: overflow in branch to __restore_all; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:357: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:360: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3078:2: error: #warning clone3() entry point is missing, please fix [-Werror=cpp] 3078 | #warning clone3() entry point is missing, please fix | ^~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:229: kernel/fork.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:478: kernel] Error 2 make[3]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}: Warning: end of file not at end of a line; newline inserted {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive {standard input}:1946: Error: displacement to undefined symbol .L317 overflows 8-bit field {standard input}:1987: Error: displacement to undefined symbol .L317 overflows 12-bit field {standard input}:1996: Error: displacement to undefined symbol .L324 overflows 8-bit field {standard input}:1974: Error: pcrel too far {standard input}:1981: Error: pcrel too far {standard input}:1983: Error: pcrel too far {standard input}:1984: Error: pcrel too far {standard input}:1991: Error: pcrel too far {standard input}:1997: Error: pcrel too far {standard input}:1999: Error: pcrel too far sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:229: drivers/net/pcs/pcs-xpcs.o] Error 4 make[5]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/net/pcs] Error 2 make[5]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}:603: Warning: end of file not at end of a line; newline inserted {standard input}:604: Error: bad register expression {standard input}:604: Error: missing separator {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:229: drivers/hwmon/pmbus/mp2975.o] Error 4 make[5]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/hwmon/pmbus] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/hwmon] Error 2 make[4]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/net] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:478: drivers] Error 2 make[2]: *** [/kisskb/src/Makefile:1936: .] Error 2 make[1]: *** [/kisskb/src/Makefile:224: __sub-make] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Command 'make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_sh4-gcc13 # Build took: 0:04:33.471280