# git rev-parse -q --verify ce9f98c0229de93b6b90bcf3deb536f922ad893a^{commit} ce9f98c0229de93b6b90bcf3deb536f922ad893a already have revision, skipping fetch # git checkout -q -f -B kisskb ce9f98c0229de93b6b90bcf3deb536f922ad893a # git clean -qxdf # < git log -1 # commit ce9f98c0229de93b6b90bcf3deb536f922ad893a # Author: Athira Rajeev # Date: Wed Aug 26 02:40:29 2020 -0400 # # powerpc/perf: Fix reading of MSR[HV/PR] bits in trace-imc # # IMC trace-mode uses MSR[HV/PR] bits to set the cpumode for the # instruction pointer captured in each sample. The bits are fetched from # the third double word of the trace record. Reading third double word # from IMC trace record should use be64_to_cpu() along with READ_ONCE # inorder to fetch correct MSR[HV/PR] bits. Patch addresses this change. # # Currently we are using PERF_RECORD_MISC_HYPERVISOR as cpumode if MSR # HV is 1 and PR is 0 which means the address is from host counter. But # using PERF_RECORD_MISC_HYPERVISOR for host counter data will fail to # resolve the address -> symbol during "perf report" because perf tools # side uses PERF_RECORD_MISC_KERNEL to represent the host counter data. # Therefore, fix the trace imc sample data to use # PERF_RECORD_MISC_KERNEL as cpumode for host kernel information. # # Fixes: 77ca3951cc37 ("powerpc/perf: Add kernel support for new MSR[HV PR] bits in trace-imc") # Signed-off-by: Athira Rajeev # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/1598424029-1662-1-git-send-email-atrajeev@linux.vnet.ibm.com # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 ce9f98c0229de93b6b90bcf3deb536f922ad893a # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc866_ads_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- mpc866_ads_defconfig # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc866_ads_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc866_ads_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc866_ads_defconfig_powerpc-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/powerpc64-linux/bin/powerpc64-linux- INFO: Uncompressed kernel (size 0x48a244) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x500000) Image Name: Linux-5.9.0-rc1-gce9f98c0229d Created: Thu Aug 27 02:26:13 2020 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2349108 Bytes = 2294.05 KiB = 2.24 MiB Load Address: 00500000 Entry Point: 00500204 Completed OK # rm -rf /kisskb/build/powerpc-fixes_mpc866_ads_defconfig_powerpc-gcc4.9 # Build took: 0:00:47.412686