# 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/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 341d041daae52cd5f014f68c1c7d9039db818fca # make -s -j 160 ARCH=mips O=/kisskb/build/linus_bigsur_defconfig_mips-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux- bigsur_defconfig # < make -s -j 160 ARCH=mips O=/kisskb/build/linus_bigsur_defconfig_mips-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 160 ARCH=mips O=/kisskb/build/linus_bigsur_defconfig_mips-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig # make -s -j 160 ARCH=mips O=/kisskb/build/linus_bigsur_defconfig_mips-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux- /kisskb/src/arch/mips/sibyte/bcm1480/setup.c:104:13: warning: no previous prototype for 'bcm1480_setup' [-Wmissing-prototypes] 104 | void __init bcm1480_setup(void) | ^~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/bcm1480/irq.c:200:13: warning: no previous prototype for 'init_bcm1480_irqs' [-Wmissing-prototypes] 200 | void __init init_bcm1480_irqs(void) | ^~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/bcm1480/time.c:10:13: warning: no previous prototype for 'plat_time_init' [-Wmissing-prototypes] 10 | void __init plat_time_init(void) | ^~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/setup.c:59:5: warning: no previous prototype for 'swarm_be_handler' [-Wmissing-prototypes] 59 | int swarm_be_handler(struct pt_regs *regs, int is_fixup) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/bcm1480/smp.c:49:6: warning: no previous prototype for 'bcm1480_smp_init' [-Wmissing-prototypes] 49 | void bcm1480_smp_init(void) | ^~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/bcm1480/smp.c:158:6: warning: no previous prototype for 'bcm1480_mailbox_interrupt' [-Wmissing-prototypes] 158 | void bcm1480_mailbox_interrupt(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_m41t81.c:139:5: warning: no previous prototype for 'm41t81_set_time' [-Wmissing-prototypes] 139 | int m41t81_set_time(time64_t t) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_m41t81.c:186:10: warning: no previous prototype for 'm41t81_get_time' [-Wmissing-prototypes] 186 | time64_t m41t81_get_time(void) | ^~~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_m41t81.c:219:5: warning: no previous prototype for 'm41t81_probe' [-Wmissing-prototypes] 219 | int m41t81_probe(void) | ^~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_xicor1241.c:108:5: warning: no previous prototype for 'xicor_set_time' [-Wmissing-prototypes] 108 | int xicor_set_time(time64_t t) | ^~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_xicor1241.c:167:10: warning: no previous prototype for 'xicor_get_time' [-Wmissing-prototypes] 167 | time64_t xicor_get_time(void) | ^~~~~~~~~~~~~~ /kisskb/src/arch/mips/sibyte/swarm/rtc_xicor1241.c:203:5: warning: no previous prototype for 'xicor_probe' [-Wmissing-prototypes] 203 | int xicor_probe(void) | ^~~~~~~~~~~ /kisskb/src/arch/mips/kernel/cevt-bcm1480.c:96:6: warning: no previous prototype for 'sb1480_clockevent_init' [-Wmissing-prototypes] 96 | void sb1480_clockevent_init(void) | ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/kernel/csrc-bcm1480.c:37:13: warning: no previous prototype for 'sb1480_clocksource_init' [-Wmissing-prototypes] 37 | void __init sb1480_clocksource_init(void) | ^~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/cerr-sb1.c:165:17: warning: no previous prototype for 'sb1_cache_error' [-Wmissing-prototypes] 165 | asmlinkage void sb1_cache_error(void) | ^~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_bigsur_defconfig_mips-gcc13 # Build took: 0:01:22.490516