1. 12 Jan, 2022 6 commits
    • Ian Rogers's avatar
      perf stat: Add aggr creators that are passed a cpu · ca2c9b76
      Ian Rogers authored
      The cpu_map and index can get confused. Add variants of the cpu_map__get
      routines that are passed a cpu. Make the existing cpu_map__get routines
      use the new functions with a view to remove them when no longer used.
      Reviewed-by: default avatarJames Clark <james.clark@arm.com>
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Mike Leach <mike.leach@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Clarke <pc@us.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
      Cc: Vineet Singh <vineet.singh@intel.com>
      Cc: coresight@lists.linaro.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: zhengjun.xing@intel.com
      Link: https://lore.kernel.org/r/20220105061351.120843-3-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ca2c9b76
    • Ian Rogers's avatar
      libperf: Add comments to 'struct perf_cpu_map' · 818ab78c
      Ian Rogers authored
      A particular observed problem is confusing the index with the CPU value,
      documentation should hopefully reduce this type of problem.
      Reviewed-by: default avatarJames Clark <james.clark@arm.com>
      Reviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Mike Leach <mike.leach@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Clarke <pc@us.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
      Cc: Vineet Singh <vineet.singh@intel.com>
      Cc: coresight@lists.linaro.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: zhengjun.xing@intel.com
      Link: https://lore.kernel.org/r/20220105061351.120843-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      818ab78c
    • Ian Rogers's avatar
      perf evsel: Improve error message for uncore events · dcffc5eb
      Ian Rogers authored
      When a group has multiple events and the leader fails it can yield
      errors like:
      
        $ perf stat -e '{uncore_imc/cas_count_read/},instructions' /bin/true
        Error:
        The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (uncore_imc/cas_count_read/).
        /bin/dmesg | grep -i perf may provide additional information.
      
      However, when not the group leader <not supported> is given:
      
        $ perf stat -e '{instructions,uncore_imc/cas_count_read/}' /bin/true
        ...
                 1,619,057      instructions
           <not supported> MiB  uncore_imc/cas_count_read/
      
      This is necessary because get_group_fd will fail if the leader fails and
      is the direct result of the check on line 750 of builtin-stat.c in
      stat_handle_error that returns COUNTER_SKIP for the latter case.
      
      This patch improves the error message to:
      
        $ perf stat -e '{uncore_imc/cas_count_read/},instructions' /bin/true
        Error:
        Invalid event (uncore_imc/cas_count_read/) in per-thread mode, enable system wide with '-a'.
      
      v2. Changed the test to use !target__has_cpu as suggested by Namhyung Kim.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20211223183948.3423989-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      dcffc5eb
    • Arnaldo Carvalho de Melo's avatar
      Revert "perf powerpc: Add data source encodings for power10 platform" · b4bb6f05
      Arnaldo Carvalho de Melo authored
      This was in a patchkit mixing up kernel with tools/ parts and I
      mistakenly got it merged in the perf tools tree, revert it, it'll go via
      the PowerPC kernel tree.
      
      This reverts commit af2b24f2.
      
      Cc: kajoljain <kjain@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Link: http://lore.kernel.org/lkml/20220112171659.531d22ce@canb.auug.org.auSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b4bb6f05
    • Arnaldo Carvalho de Melo's avatar
      Revert "perf powerpc: Add encodings to represent data based on newer composite... · 8de78328
      Arnaldo Carvalho de Melo authored
      Revert "perf powerpc: Add encodings to represent data based on newer composite PERF_MEM_LVLNUM* fields"
      
      This was in a patchkit mixing up kernel with tools/ parts and I
      mistakenly got it merged in the perf tools tree, revert it, it'll go via
      the PowerPC kernel tree.
      
      This reverts commit 0ebce3d6.
      
      Cc: kajoljain <kjain@linux.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Link: http://lore.kernel.org/lkml/20220112171659.531d22ce@canb.auug.org.auSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8de78328
    • Adrian Hunter's avatar
      perf script: Fix hex dump character output · 62942e9f
      Adrian Hunter authored
      Using grep -C with perf script -D can give erroneous results as grep loses
      lines due to non-printable characters, for example, below the 0020, 0060
      and 0070 lines are missing:
      
       $ perf script -D | grep -C10 AUX | head
       .  0010:  08 00 00 00 00 00 00 00 1f 00 00 00 00 00 00 00  ................
       .  0030:  01 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00  ................
       .  0040:  00 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00  ................
       .  0050:  00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
       .  0080:  02 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00  ................
       .  0090:  00 00 00 00 00 00 00 00                          ........
      
       0 0 0x450 [0x98]: PERF_RECORD_AUXTRACE_INFO type: 1
         PMU Type            8
         Time Shift          31
      
      perf's isprint() is a custom implementation from the kernel, but the
      kernel's _ctype appears to include characters from Latin-1 Supplement which
      is not compatible with, for example, UTF-8. Fix by checking also isascii().
      
      After:
      
       $ tools/perf/perf script -D | grep -C10 AUX | head
       .  0010:  08 00 00 00 00 00 00 00 1f 00 00 00 00 00 00 00  ................
       .  0020:  03 84 32 2f 00 00 00 00 63 7c 4f d2 fa ff ff ff  ..2/....c|O.....
       .  0030:  01 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00  ................
       .  0040:  00 08 00 00 00 00 00 00 02 00 00 00 00 00 00 00  ................
       .  0050:  00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
       .  0060:  00 02 00 00 00 00 00 00 00 c0 03 00 00 00 00 00  ................
       .  0070:  e2 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00  ................
       .  0080:  02 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00  ................
       .  0090:  00 00 00 00 00 00 00 00                          ........
      
      Fixes: 3052ba56 ("tools perf: Move from sane_ctype.h obtained from git to the Linux's original")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lore.kernel.org/lkml/20220112085057.277205-1-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      62942e9f
  2. 11 Jan, 2022 1 commit
  3. 10 Jan, 2022 25 commits
    • Dario Petrillo's avatar
      perf annotate: Avoid TUI crash when navigating in the annotation of recursive functions · d5962fb7
      Dario Petrillo authored
      In 'perf report', entering a recursive function from inside of itself
      (either directly of indirectly through some other function) results in
      calling symbol__annotate2 multiple() times, and freeing the whole
      disassembly when exiting from the innermost instance.
      
      The first issue causes the function's disassembly to be duplicated, and
      the latter a heap use-after-free (and crash) when trying to access the
      disassembly again.
      
      I reproduced the bug on perf 5.11.22 (Ubuntu 20.04.3 LTS) and 5.16.rc8
      with the following testcase (compile with gcc recursive.c -o recursive).
      To reproduce:
      
      - perf record ./recursive
      - perf report
      - enter fibonacci and annotate it
      - move the cursor on one of the "callq fibonacci" instructions and press enter
        - at this point there will be two copies of the function in the disassembly
      - go back by pressing q, and perf will crash
      
        #include <stdio.h>
      
        int fibonacci(int n)
        {
            if(n <= 2) return 1;
            return fibonacci(n-1) + fibonacci(n-2);
        }
      
        int main()
        {
            printf("%d\n", fibonacci(40));
        }
      
      This patch addresses the issue by annotating a function and freeing the
      associated memory on exit only if no annotation is already present, so
      that a recursive function is only annotated on entry.
      Signed-off-by: default avatarDario Petrillo <dario.pk1@gmail.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: stable@kernel.org
      Link: http://lore.kernel.org/lkml/20220109234441.325106-1-dario.pk1@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d5962fb7
    • Athira Rajeev's avatar
      perf powerpc: Update global/local variants for p_stage_cyc · befee377
      Athira Rajeev authored
      Update the arch_support_sort_key() function in powerpc to enable
      presenting local and global variants of sort key 'p_stage_cyc'.
      
      Update the "se_header" strings for these in arch_perf_header_entry()
      along with instruction latency.
      Reported-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Tested-by: default avatarNageswara R Sastry <rnsastry@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: https://lore.kernel.org/r/20211203022038.48240-2-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      befee377
    • Athira Rajeev's avatar
      perf sort: Include global and local variants for p_stage_cyc sort key · e3304c21
      Athira Rajeev authored
      Sort key 'p_stage_cyc' is used to present the latency cycles spent in
      pipeline stages.
      
      perf has local 'p_stage_cyc' sort key to display this info. There is no
      global variant available for this sort key. The local variant shows
      latency in a single sample, whereas the global value will be useful to
      present the total latency (sum of latencies) in the hist entry. It
      represents the latency number multiplied by the number of samples.
      
      Add global ('p_stage_cyc') and local variant ('local_p_stage_cyc') for
      this sort key. Use 'local_p_stage_cyc' as default option for "mem" sort
      mode.
      
      Also add this to the list of dynamic sort keys and made the
      "dynamic_headers" and "arch_specific_sort_keys" as static.
      Reported-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Tested-by: default avatarNageswara R Sastry <rnsastry@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Link: https://lore.kernel.org/r/20211203022038.48240-1-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e3304c21
    • Arnaldo Carvalho de Melo's avatar
      debe70e4
    • Linus Torvalds's avatar
      Merge tag 'x86_vdso_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 133d9c53
      Linus Torvalds authored
      Pull x86 vdso updates from Borislav Petkov:
       "Remove -nostdlib compiler flag now that the vDSO uses the linker
        instead of the compiler driver to link files"
      
      * tag 'x86_vdso_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/purgatory: Remove -nostdlib compiler flag
        x86/vdso: Remove -nostdlib compiler flag
      133d9c53
    • Linus Torvalds's avatar
      Merge tag 'x86_build_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3c6d4056
      Linus Torvalds authored
      Pull x86 build fix from Borislav Petkov:
       "A fix for cross-compiling the compressed stub on arm64 with clang"
      
      * tag 'x86_build_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS
      3c6d4056
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 25f8c778
      Linus Torvalds authored
      Pull x86 cpuid updates from Borislav Petkov:
      
       - Enable the short string copies for CPUs which support them, in
         copy_user_enhanced_fast_string()
      
       - Avoid writing MSR_CSTAR on Intel due to TDX guests raising a #VE trap
      
      * tag 'x86_cpu_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/lib: Add fast-short-rep-movs check to copy_user_enhanced_fast_string()
        x86/cpu: Don't write CSTAR MSR on Intel CPUs
      25f8c778
    • Linus Torvalds's avatar
      Merge tag 'x86_cleanups_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 308319e9
      Linus Torvalds authored
      Pull x86 cleanups from Borislav Petkov:
       "The mandatory set of random minor cleanups all over tip"
      
      * tag 'x86_cleanups_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/events/amd/iommu: Remove redundant assignment to variable shift
        x86/boot/string: Add missing function prototypes
        x86/fpu: Remove duplicate copy_fpstate_to_sigframe() prototype
        x86/uaccess: Move variable into switch case statement
      308319e9
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2e97a0c0
      Linus Torvalds authored
      Pull misc x86 updates from Borislav Petkov:
       "The pile which we cannot find the proper topic for so we stick it in
        x86/misc:
      
         - Add support for decoding instructions which do MMIO accesses in
           order to use it in SEV and TDX guests
      
         - An include fix and reorg to allow for removing set_fs in UML later"
      
      * tag 'x86_misc_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mtrr: Remove the mtrr_bp_init() stub
        x86/sev-es: Use insn_decode_mmio() for MMIO implementation
        x86/insn-eval: Introduce insn_decode_mmio()
        x86/insn-eval: Introduce insn_get_modrm_reg_ptr()
        x86/insn-eval: Handle insn_get_opcode() failure
      2e97a0c0
    • Linus Torvalds's avatar
      Merge tag 'x86_mm_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4a692ae3
      Linus Torvalds authored
      Pull x86 mm updates from Borislav Petkov:
      
       - Flush *all* mappings from the TLB after switching to the trampoline
         pagetable to prevent any stale entries' presence
      
       - Flush global mappings from the TLB, in addition to the CR3-write,
         after switching off of the trampoline_pgd during boot to clear the
         identity mappings
      
       - Prevent instrumentation issues resulting from the above changes
      
      * tag 'x86_mm_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Prevent early boot triple-faults with instrumentation
        x86/mm: Include spinlock_t definition in pgtable.
        x86/mm: Flush global TLB when switching to trampoline page-table
        x86/mm/64: Flush global TLB on boot and AP bringup
        x86/realmode: Add comment for Global bit usage in trampoline_pgd
        x86/mm: Add missing <asm/cpufeatures.h> dependency to <asm/page_64.h>
      4a692ae3
    • Linus Torvalds's avatar
      Merge tag 'x86_sgx_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bfed6efb
      Linus Torvalds authored
      Pull x86 SGX updates from Borislav Petkov:
      
       - Add support for handling hw errors in SGX pages: poisoning,
         recovering from poison memory and error injection into SGX pages
      
       - A bunch of changes to the SGX selftests to simplify and allow of SGX
         features testing without the need of a whole SGX software stack
      
       - Add a sysfs attribute which is supposed to show the amount of SGX
         memory in a NUMA node, similar to what /proc/meminfo is to normal
         memory
      
       - The usual bunch of fixes and cleanups too
      
      * tag 'x86_sgx_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        x86/sgx: Fix NULL pointer dereference on non-SGX systems
        selftests/sgx: Fix corrupted cpuid macro invocation
        x86/sgx: Add an attribute for the amount of SGX memory in a NUMA node
        x86/sgx: Fix minor documentation issues
        selftests/sgx: Add test for multiple TCS entry
        selftests/sgx: Enable multiple thread support
        selftests/sgx: Add page permission and exception test
        selftests/sgx: Rename test properties in preparation for more enclave tests
        selftests/sgx: Provide per-op parameter structs for the test enclave
        selftests/sgx: Add a new kselftest: Unclobbered_vdso_oversubscribed
        selftests/sgx: Move setup_test_encl() to each TEST_F()
        selftests/sgx: Encpsulate the test enclave creation
        selftests/sgx: Dump segments and /proc/self/maps only on failure
        selftests/sgx: Create a heap for the test enclave
        selftests/sgx: Make data measurement for an enclave segment optional
        selftests/sgx: Assign source for each segment
        selftests/sgx: Fix a benign linker warning
        x86/sgx: Add check for SGX pages to ghes_do_memory_failure()
        x86/sgx: Add hook to error injection address validation
        x86/sgx: Hook arch_memory_failure() into mainline code
        ...
      bfed6efb
    • Linus Torvalds's avatar
      Merge tag 'x86_cache_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d3c20bfb
      Linus Torvalds authored
      Pull x86 resource control fixlet from Borislav Petkov:
       "A minor code cleanup removing a redundant assignment"
      
      * tag 'x86_cache_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Remove redundant assignment to variable chunks
      d3c20bfb
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 01d5e787
      Linus Torvalds authored
      Pull x86 SEV updates from Borislav Petkov:
       "The accumulated pile of x86/sev generalizations and cleanups:
      
         - Share the SEV string unrolling logic with TDX as TDX guests need it
           too
      
         - Cleanups and generalzation of code shared by SEV and TDX"
      
      * tag 'x86_sev_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sev: Move common memory encryption code to mem_encrypt.c
        x86/sev: Rename mem_encrypt.c to mem_encrypt_amd.c
        x86/sev: Use CC_ATTR attribute to generalize string I/O unroll
        x86/sev: Remove do_early_exception() forward declarations
        x86/head64: Carve out the guest encryption postprocessing into a helper
        x86/sev: Get rid of excessive use of defines
        x86/sev: Shorten GHCB terminate macro names
      01d5e787
    • Linus Torvalds's avatar
      Merge tag 'x86_platform_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cd36722d
      Linus Torvalds authored
      Pull x86 platform fix from Borislav Petkov:
       "A single DT compatibility fix for the Intel media processor CE4100
        driver"
      
      * tag 'x86_platform_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ce4100: Replace "ti,pcf8575" by "nxp,pcf8575"
      cd36722d
    • Linus Torvalds's avatar
      Merge tag 'x86_paravirt_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e59451fd
      Linus Torvalds authored
      Pull x86 paravirtualization fix from Borislav Petkov:
       "Define the INTERRUPT_RETURN macro only when CONFIG_XEN_PV is enabled
        as it is its only user"
      
      * tag 'x86_paravirt_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Fix build PARAVIRT_XXL=y without XEN_PV
      e59451fd
    • Linus Torvalds's avatar
      Merge tag 'x86_fpu_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 191cf7fa
      Linus Torvalds authored
      Pull x86 fpu update from Borislav Petkov:
       "A single x86/fpu update for 5.17:
      
         - Exclude AVX opmask registers use from AVX512 state tracking as they
           don't contribute to frequency throttling"
      
      * tag 'x86_fpu_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Correct AVX512 state tracking
      191cf7fa
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 8cc1e207
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - enable memtest functionality
      
       - defconfig updates
      
      * tag 'm68k-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: defconfig: Update defconfigs for v5.16-rc1
        m68k: Enable memtest functionality
      8cc1e207
    • Linus Torvalds's avatar
      Merge tag 's390-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f0d43b3a
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
       "Besides all the small improvements and cleanups the most notable part
        is the fast vector/SIMD implementation of the ChaCha20 stream cipher,
        which is an adaptation of Andy Polyakov's code for the kernel.
      
        Summary:
      
         - add fast vector/SIMD implementation of the ChaCha20 stream cipher,
           which mainly adapts Andy Polyakov's code for the kernel
      
         - add status attribute to AP queue device so users can easily figure
           out its status
      
         - fix race in page table release code, and and lots of documentation
      
         - remove uevent suppress from cio device driver, since it turned out
           that it generated more problems than it solved problems
      
         - quite a lot of virtual vs physical address confusion fixes
      
         - various other small improvements and cleanups all over the place"
      
      * tag 's390-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
        s390/dasd: use default_groups in kobj_type
        s390/sclp_sd: use default_groups in kobj_type
        s390/pci: simplify __pciwb_mio() inline asm
        s390: remove unused TASK_SIZE_OF
        s390/crash_dump: fix virtual vs physical address handling
        s390/crypto: fix compile error for ChaCha20 module
        s390/mm: check 2KB-fragment page on release
        s390/mm: better annotate 2KB pagetable fragments handling
        s390/mm: fix 2KB pgtable release race
        s390/sclp: release SCLP early buffer after kernel initialization
        s390/nmi: disable interrupts on extended save area update
        s390/zcrypt: CCA control CPRB sending
        s390/disassembler: update opcode table
        s390/uv: fix memblock virtual vs physical address confusion
        s390/smp: fix memblock_phys_free() vs memblock_free() confusion
        s390/sclp: fix memblock_phys_free() vs memblock_free() confusion
        s390/exit: remove dead reference to do_exit from copy_thread
        s390/ap: add missing virt_to_phys address conversion
        s390/pgalloc: use pointers instead of unsigned long values
        s390/pgalloc: add virt/phys address handling to base asce functions
        ...
      f0d43b3a
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 9b9e2113
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - KCSAN enabled for arm64.
      
       - Additional kselftests to exercise the syscall ABI w.r.t. SVE/FPSIMD.
      
       - Some more SVE clean-ups and refactoring in preparation for SME
         support (scalable matrix extensions).
      
       - BTI clean-ups (SYM_FUNC macros etc.)
      
       - arm64 atomics clean-up and codegen improvements.
      
       - HWCAPs for FEAT_AFP (alternate floating point behaviour) and
         FEAT_RPRESS (increased precision of reciprocal estimate and
         reciprocal square root estimate).
      
       - Use SHA3 instructions to speed-up XOR.
      
       - arm64 unwind code refactoring/unification.
      
       - Avoid DC (data cache maintenance) instructions when DCZID_EL0.DZP ==
         1 (potentially set by a hypervisor; user-space already does this).
      
       - Perf updates for arm64: support for CI-700, HiSilicon PCIe PMU,
         Marvell CN10K LLC-TAD PMU, miscellaneous clean-ups.
      
       - Other fixes and clean-ups; highlights: fix the handling of erratum
         1418040, correct the calculation of the nomap region boundaries,
         introduce io_stop_wc() mapped to the new DGH instruction (data
         gathering hint).
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (81 commits)
        arm64: Use correct method to calculate nomap region boundaries
        arm64: Drop outdated links in comments
        arm64: perf: Don't register user access sysctl handler multiple times
        drivers: perf: marvell_cn10k: fix an IS_ERR() vs NULL check
        perf/smmuv3: Fix unused variable warning when CONFIG_OF=n
        arm64: errata: Fix exec handling in erratum 1418040 workaround
        arm64: Unhash early pointer print plus improve comment
        asm-generic: introduce io_stop_wc() and add implementation for ARM64
        arm64: Ensure that the 'bti' macro is defined where linkage.h is included
        arm64: remove __dma_*_area() aliases
        docs/arm64: delete a space from tagged-address-abi
        arm64: Enable KCSAN
        kselftest/arm64: Add pidbench for floating point syscall cases
        arm64/fp: Add comments documenting the usage of state restore functions
        kselftest/arm64: Add a test program to exercise the syscall ABI
        kselftest/arm64: Allow signal tests to trigger from a function
        kselftest/arm64: Parameterise ptrace vector length information
        arm64/sve: Minor clarification of ABI documentation
        arm64/sve: Generalise vector length configuration prctl() for SME
        arm64/sve: Make sysctl interface for SVE reusable by SME
        ...
      9b9e2113
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a7ac3140
      Linus Torvalds authored
      Pull asm-generic cleanups from Arnd Bergmann:
       "A few minor cleanups for cross-architecture code: Alexandre Ghiti
        deals with removing some leftovers from drivers and features that have
        been removed, and Wasin Thonkaew has a cosmetic change"
      
      * tag 'asm-generic-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic/error-injection.h: fix a spelling mistake, and a coding style issue
        arch: Remove leftovers from prism54 wireless driver
        arch: Remove leftovers from mandatory file locking
        Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH
        Documentation, arch: Remove leftovers from raw device
      a7ac3140
    • Linus Torvalds's avatar
      Merge tag 'newsoc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · bb4ed26e
      Linus Torvalds authored
      Pull RISC-V SoC updates from Arnd Bergmann:
       "Add support for StarFive JH7100 RISC-V SoC
      
        This adds support for the StarFive JH7100, including the necessary
        device drivers and DT files for the BeagleV Starlight prototype board,
        with additional boards to be added later. This SoC promises to be the
        first usable low-cost platform for RISC-V.
      
        I've taken this through the SoC tree in the anticipation of adding a
        few other Arm based SoCs as well, but those did not pass the review in
        time, so it's only this one"
      
      * tag 'newsoc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        reset: starfive-jh7100: Fix 32bit compilation
        RISC-V: Add BeagleV Starlight Beta device tree
        RISC-V: Add initial StarFive JH7100 device tree
        serial: 8250_dw: Add StarFive JH7100 quirk
        dt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts
        pinctrl: starfive: Add pinctrl driver for StarFive SoCs
        dt-bindings: pinctrl: Add StarFive JH7100 bindings
        dt-bindings: pinctrl: Add StarFive pinctrl definitions
        reset: starfive-jh7100: Add StarFive JH7100 reset driver
        dt-bindings: reset: Add Starfive JH7100 reset bindings
        dt-bindings: reset: Add StarFive JH7100 reset definitions
        clk: starfive: Add JH7100 clock generator driver
        dt-bindings: clock: starfive: Add JH7100 bindings
        dt-bindings: clock: starfive: Add JH7100 clock definitions
        dt-bindings: interrupt-controller: Add StarFive JH7100 plic
        dt-bindings: timer: Add StarFive JH7100 clint
        RISC-V: Add StarFive SoC Kconfig option
      bb4ed26e
    • Linus Torvalds's avatar
      Merge tag 'dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · aca48b2d
      Linus Torvalds authored
      Pull ARM SoC devicetree updates from Arnd Bergmann:
       "As usual, this is the bulk of the updates for the SoC tree, adding
        more devices to existing files, addressing issues from ever improving
        automated checking, and fixing minor issues.
      
        The most interesting bits as usual are the new platforms. All the
        newly supported SoCs belong into existing families this time:
      
         - Qualcomm gets support for two newly announced platforms, both of
           which can now work in production environments: the SDX65 5G modem
           that can run a minimal Linux on its Cortex-A7 core, and the
           Snapdragon 8 Gen 1, their latest high-end phone SoC.
      
         - Renesas adds support for R-Car S4-8, the most recent automotive
           Server/Communication SoC.
      
         - TI adds support for J721s2, a new automotive SoC in the K3 family.
      
         - Mediatek MT7986a/b is a SoC used in Wifi routers, the latest
           generation following their popular MT76xx series. Only basic
           support is added for now.
      
         - NXP i.MX8 ULP8 is a new low-power variant of the widespread i.MX8
           series.
      
         - TI SPEAr320s is a minor variant of the old SPEAr320 SoC that we
           have supported for a long time.
      
        New boards with the existing SoCs include
      
         - Aspeed AST2500/AST2600 BMCs in TYAN, Facebook and Yadro servers
      
         - AT91/SAMA5 based evaluation board
      
         - NXP gains twenty new development and industrial boards for their
           i.MX and Layerscape SoCs
      
         - Intel IXP4xx now supports the final two machines in device tree
           that were previously only supported in old style board files.
      
         - Mediatek MT6589 is used in the Fairphone FP1 phone from 2013, while
           MT8183 is used in the Acer Chromebook 314.
      
         - Qualcomm gains support for the reference machines using the two new
           SoCs, plus a number of Chromebook variants and phones based on the
           Snapdragon 7c, 845 and 888 SoCs, including various Sony Xperia
           devices and the Microsoft Surface Duo 2.
      
         - ST STM32 now supports the Engicam i.Core STM32MP1 carrier board.
      
         - Tegra now boots various older Android devices based on 32-bit chips
           out of the box, including a number of ASUS Transformer tablets.
      
           There is also a new Jetson AGX Orin developer kit.
      
         - Apple support adds the missing device trees for all the remaining
           M1 Macbook and iMac variants, though not yet the M1 Pro/Max
           versions.
      
         - Allwinner now supports another version of the Tanix TX6 set-top box
           based on the H6 SoC.
      
         - Broadcom gains support for the Netgear RAXE500 Wireless router
           based on BCM4908"
      
      * tag 'dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (574 commits)
        Revert "ARM: dts: BCM5301X: define RTL8365MB switch on Asus RT-AC88U"
        arm64: dts: qcom: sm6125: Avoid using missing SM6125_VDDCX
        arm64: dts: qcom: sm8450-qrd: Enable USB nodes
        arm64: dts: qcom: sm8450: Add usb nodes
        ARM: dts: aspeed: add LCLK setting into LPC KCS nodes
        dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property
        ARM: dts: aspeed: add LCLK setting into LPC IBT node
        ARM: dts: aspeed: p10: Add TPM device
        ARM: dts: aspeed: p10: Enable USB host ports
        ARM: dts: aspeed: Add TYAN S8036 BMC machine
        ARM: dts: aspeed: tyan-s7106: Add uart_routing and fix vuart config
        ARM: dts: aspeed: Adding Facebook Bletchley BMC
        ARM: dts: aspeed: g220a: Enable secondary flash
        ARM: dts: Add openbmc-flash-layout-64-alt.dtsi
        ARM: dts: aspeed: Add secure boot controller node
        dt-bindings: aspeed: Add Secure Boot Controller bindings
        ARM: dts: Remove "spidev" nodes
        dt-bindings: pinctrl: samsung: Add pin drive definitions for Exynos850
        dt-bindings: arm: samsung: Document E850-96 board binding
        dt-bindings: Add vendor prefix for WinLink
        ...
      aca48b2d
    • Linus Torvalds's avatar
      Merge tag 'drivers-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e85195d5
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "There are cleanups and minor bugfixes across several SoC specific
        drivers, for Qualcomm, Samsung, NXP i.MX, AT91, Tegra, Keystone,
        Renesas, ZynqMP
      
        Noteworthy new features are:
      
         - The op-tee firmware driver gains support for asynchronous
           notifications from secure-world firmware.
      
         - Qualcomm platforms gain support for new SoC types in various
           drivers: power domain, cache controller, RPM sleep, soc-info
      
         - Samsung SoC drivers gain support for new SoCs in ChipID and PMU, as
           well as a new USIv2 driver that handles various types of serial
           communiction (uart, i2c, spi)
      
         - Renesas adds support for R-Car S4-8 (R8A779F0) in multiple drivers,
           as well as memory controller support for RZ/G2L (R9A07G044).
      
         - Apple M1 gains support for the PMGR power management driver"
      
      * tag 'drivers-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (94 commits)
        soc: qcom: rpmh-rsc: Fix typo in a comment
        soc: qcom: socinfo: Add SM6350 and SM7225
        dt-bindings: arm: msm: Don't mark LLCC interrupt as required
        dt-bindings: firmware: scm: Add SM6350 compatible
        dt-bindings: arm: msm: Add LLCC for SM6350
        soc: qcom: rpmhpd: Sort power-domain definitions and lists
        soc: qcom: rpmhpd: Remove mx/cx relationship on sc7280
        soc: qcom: rpmhpd: Rename rpmhpd struct names
        soc: qcom: rpmhpd: sm8450: Add the missing .peer for sm8450_cx_ao
        soc: qcom: socinfo: add SM8450 ID
        soc: qcom: rpmhpd: Add SM8450 power domains
        dt-bindings: power: rpmpd: Add SM8450 to rpmpd binding
        soc: qcom: smem: Update max processor count
        dt-bindings: arm: qcom: Document SM8450 SoC and boards
        dt-bindings: firmware: scm: Add SM8450 compatible
        dt-bindings: arm: cpus: Add kryo780 compatible
        soc: qcom: rpmpd: Add support for sm6125
        dt-bindings: qcom-rpmpd: Add sm6125 power domains
        soc: qcom: aoss: constify static struct thermal_cooling_device_ops
        PM: AVS: qcom-cpr: Use div64_ul instead of do_div
        ...
      e85195d5
    • Linus Torvalds's avatar
      Merge tag 'defconfig-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 0dca3c5e
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual changes to enable newly added driver by default,
        and to do some housekeeping around changing Kconfig symbols"
      
      * tag 'defconfig-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: defconfig: Enable Samsung I2C driver
        ARM: configs: at91: Enable crypto software implementations
        ARM: configs: at91: sama7: Enable SPI NOR and QSPI controller
        ARM: config: multi v7: Enable NVIDIA Tegra20 APB DMA driver
        ARM: config: multi v7: Enable NVIDIA Tegra20 S/PDIF driver
        ARM: tegra_defconfig: Enable S/PDIF driver
        ARM: imx_v6_v7_defconfig: Enable for DHCOM devices required RTC_DRV_RV3029C2
        ARM: config: multi v7: Enable display drivers used by Tegra devices
        ARM: tegra_defconfig: Enable drivers wanted by Acer Chromebooks and ASUS tablets
        ARM: configs: gemini: Activate crypto driver
        arm64: defconfig: enable drivers for booting i.MX8ULP
        arm64: defconfig: Enable R-Car S4-8
        arm64: defconfig: enable drivers for TQ TQMa8MxML-MBa8Mx
        arm64: defconfig: Enable OV5640
        arm64: defconfig: Enable VIDEO_IMX_MEDIA
      0dca3c5e
    • Linus Torvalds's avatar
      Merge tag 'soc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 1135ec00
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "These are all minor bug fixes and cleanups to code in arch/arm and
        arch/arm64 that is specific to one SoC, updating Kconfig symbols, the
        MAINTAINERS file, and removing some dead code"
      
      * tag 'soc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: exynos: Enable Exynos Multi-Core Timer driver
        ARM: ixp4xx: remove unused header file pata_ixp4xx_cf.h
        ARM: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X
        MAINTAINERS: Add Florian as BCM5301X and BCM53573 maintainer
        ARM: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies
        ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART
        ARM: imx: remove dead left-over from i.MX{27,31,35} removal
        ARM: s3c: add one more "fallthrough" statement in Jive
        ARM: s3c: include header for prototype of s3c2410_modify_misccr
        ARM: shmobile: rcar-gen2: Add missing of_node_put()
      1135ec00
  4. 09 Jan, 2022 6 commits
  5. 08 Jan, 2022 2 commits