# git rev-parse -q --verify dda32e37d397f5937cc24a6e98b71d3645f51afa^{commit} dda32e37d397f5937cc24a6e98b71d3645f51afa already have revision, skipping fetch # git checkout -q -f -B kisskb dda32e37d397f5937cc24a6e98b71d3645f51afa # git clean -qxdf # < git log -1 # commit dda32e37d397f5937cc24a6e98b71d3645f51afa # Author: Michael Ellerman # Date: Mon Apr 22 23:34:53 2024 +1000 # # selftests/powerpc: Install tests in sub-directories # # The sources for the powerpc selftests are arranged into sub-directories. # However when the tests are built and installed, the sub-directories are # squashed, losing the structure. # # For example, with the current code the result of installing the selftests is: # # $ tree tools/testing/selftests/kselftest_install # tools/testing/selftests/kselftest_install # ├── kselftest # │   ├── ktap_helpers.sh # │   ├── module.sh # │   ├── prefix.pl # │   └── runner.sh # ├── kselftest-list.txt # ├── powerpc # │   ├── alignment_handler # │   ├── attr_test # │   ├── back_to_back_ebbs_test # │   ├── bad_accesses # │   ├── bhrb_filter_map_test # │   ├── bhrb_no_crash_wo_pmu_test # │   ├── blacklisted_events_test # │   ├── cache_shape # │   ├── close_clears_pmcc_test # │   ├── context_switch # │   ├── copy_first_unaligned # ... # │   ├── settings # ... # │   └── wild_bctr # └── run_kselftest.sh # # All the powerpc tests are squashed into the single powerpc directory. In # particular, note that there is a single `settings` file, even though # there are multiple settings files in the powerpc selftest sources. One # of the settings files ends up installed, depending on install order, # even if they have different contents. # # Similarly if there were two tests with the same name in different # sub-directories they would clobber each other. # # Fix it by replicating the directory structure of the source tree into # the install directory. The result being for example: # # $ tree tools/testing/selftests/kselftest_install # tools/testing/selftests/kselftest_install # ├── kselftest # │   ├── ktap_helpers.sh # │   ├── module.sh # │   ├── prefix.pl # │   └── runner.sh # ├── kselftest-list.txt # ├── powerpc # │   ├── alignment # │   │   ├── alignment_handler # │   │   └── copy_first_unaligned # │   ├── benchmarks # │   │   ├── context_switch # │   │   ├── exec_target # │   │   ├── fork # │   │   ├── futex_bench # │   │   ├── gettimeofday # │   │   ├── mmap_bench # │   │   ├── null_syscall # │   │   └── settings # ... # │   ├── eeh # │   │   ├── eeh-basic.sh # │   │   ├── eeh-functions.sh # │   │   └── settings # ... # │   └── vphn # │   └── test-vphn # └── run_kselftest.sh # # Note multiple settings files in different sub-directories. # # This change also has the effect of changing the names of the tests from # the point of view of the kselftest runner. Before the tests are named # eg: # # powerpc:copy_first_unaligned # powerpc:cache_shape # powerpc:reg_access_test # # After, the test collection names include the sub-directory: # # powerpc/alignment:copy_first_unaligned # powerpc/cache_shape:cache_shape # powerpc/pmu/ebb:reg_access_test # # That means whereas previously all powerpc tests could be run with: # # $ ./run_kselftest.sh -c powerpc # # After the change it's necessary to pass a regex that matches all powerpc # entries, eg: # # $ ./run_kselftest.sh -c "powerpc.*" # # The latter form also works before and after the change. # # Signed-off-by: Michael Ellerman # Link: https://msgid.link/20240422133453.1793988-2-mpe@ellerman.id.au # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 dda32e37d397f5937cc24a6e98b71d3645f51afa # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_mpc85xx_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- mpc85xx_defconfig Using /kisskb/src/arch/powerpc/configs/mpc85xx_base.config as base Merging /kisskb/src/arch/powerpc/configs/85xx-32bit.config Merging /kisskb/src/arch/powerpc/configs/85xx-hw.config Merging /kisskb/src/arch/powerpc/configs/fsl-emb-nonhw.config # # merged configuration written to .config (needs make) # # Added to kconfig CONFIG_PPC_E500MC=y # Added to kconfig CONFIG_VIRTUALIZATION=y # Added to kconfig CONFIG_KVM_E500MC=y # Added to kconfig # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_mpc85xx_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_mpc85xx_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:4589:warning: override: reassigning to symbol PPC_E500MC .config:4590:warning: override: reassigning to symbol VIRTUALIZATION # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_mpc85xx_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/include/linux/build_bug.h:5, from /kisskb/src/include/linux/container_of.h:5, from /kisskb/src/include/linux/list.h:5, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:15: /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c: In function 'allocate_bd': /kisskb/src/include/linux/err.h:28:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 28 | #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO) | ^ /kisskb/src/include/linux/compiler.h:77:45: note: in definition of macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:138:13: note: in expansion of macro 'IS_ERR_VALUE' 138 | if (IS_ERR_VALUE(fep->ring_mem_addr)) | ^~~~~~~~~~~~ /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi:154.11-204.6: Warning (interrupt_provider): /pcie@e000b000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8544ds.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi:375.11-425.6: Warning (interrupt_provider): /pcie@ffe08000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8572ds.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' Completed OK # rm -rf /kisskb/build/powerpc-next_mpc85xx_defconfig+KVM_powerpc-gcc13 # Build took: 0:03:35.347697