1. 16 Dec, 2014 2 commits
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Clarify sterror_mmap variable names · e5d4a290
      Arnaldo Carvalho de Melo authored
      Prep patch for doing further checks like when the number of pages that
      is being attempted is actually below /proc/sys/kernel/perf_event_mlock_kb but
      the operation fails because the user doesn't have CAP_IPC_LOCK.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-wetzlux7mzvofu5cuji5i71i@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e5d4a290
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg · 0a2138b2
      Arnaldo Carvalho de Melo authored
      When failing due to asking for a number of mmap pages that is more than
      the max, it was suggesting that an even bigger number of mmap pages
      should be specified, doh, au contraire!
      
      Before:
      
        [acme@ssdandy linux]$ trace -m 128 usleep 1
        Error:	Operation not permitted.
        Hint:	Check /proc/sys/kernel/perf_event_mlock_kb (516 kB) setting.
        Hint:	Tried using 516 kB.
        Hint:	Try using a bigger -m/--mmap-pages value.
        [acme@ssdandy linux]$
      
      After:
      
        [acme@ssdandy linux]$ trace -m 128 usleep 1
        Error:	Operation not permitted.
        Hint:	Check /proc/sys/kernel/perf_event_mlock_kb (516 kB) setting.
        Hint:	Tried using 516 kB.
        Hint:	Try using a smaller -m/--mmap-pages value.
        [acme@ssdandy linux]$
      
      And to (really) clarify what happens above, when what the user requests
      is <= max and even then it fails, a changeset is being made to tell that
      this is a per user limit, not per process (in the above example there
      was another 'perf trace' running for this user, which was using all the
      pages it could use).
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-8qope8lxb898narnq5kmu2gf@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0a2138b2
  2. 12 Dec, 2014 2 commits
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 41e950c0
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      User visible changes:
      
      - Mark events as (x86 only) in help output for 'perf kvm stat live" (Alexander Yarygin)
      
      - Provide a better explanation when mmap fails in 'trace' (Arnaldo Carvalho de Melo)
      
      - Add --buildid-dir option to set cache directory, i.e. use:
      
            $ perf --buildid-dir /path/to/dir tool --tool-options
      
        (Jiri Olsa)
      
      - Fix memcpy/memset 'perf bench' output (Rabin Vicent)
      
      - Fix 'perf test' attr tests size values to cope with machine state on
        interrupt ABI changes (Jiri Olsa)
      
      - Fixup callchain type parameter handling error message (Kan Liang)
      
      Infrastructure changes and cleanups:
      
      - calloc/xcalloc: Fix argument order (Arjun Sreedharan)
      
      - Move filename__read_int from tools/perf/ to tools/lib, add sysctl__read_int
        there and use it in place of ad-hoc copies (Arnaldo Carvalho de Melo)
      
      - Use single strcmp call instead of two (Jiri Olsa)
      
      - Remove extra debugdir variables in 'perf buildid-cache' (Jiri Olsa)
      
      - Fix -a segfault related to kcore handling in 'perf buildid-cache' (Jiri Olsa)
      
      - Move cpumode resolve code to add_callchain_ip (Kan Liang)
      
      - Merge memset into memcpy 'perf bench' (Rabin Vincent)
      
      - Change print format from %lu to %PRIu64 in the hists browser (Tom Huynh)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      41e950c0
    • Ingo Molnar's avatar
  3. 11 Dec, 2014 7 commits
    • Arnaldo Carvalho de Melo's avatar
      perf trace: Provide a better explanation when mmap fails · e09b18d4
      Arnaldo Carvalho de Melo authored
      If we ask for a mmap lenght than the max configured via the relevant
      sysctl, provide a better warning, instead of just expanding the EPERM
      returned:
      
      [acme@ssdandy ~]$ trace -m 256 -e nanosleep sleep 2
      Error:	Operation not permitted.
      Hint:	Check /proc/sys/kernel/perf_event_mlock_kb (516 kB) setting.
      Hint:	Tried using 1028 kB.
      Hint:	Try using a bigger -m/--mmap-pages value.
      
      [acme@ssdandy ~]$ trace -m 128 -e nanosleep sleep 2
        2001.280 (2000.403 ms): nanosleep(rqtp: 0x7fff89a8a7f0) = 0
      [acme@ssdandy ~]$
      
      An upcoming patch will autotune the request for non-root users when -m
      is not used.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-cdvxfz2gycetbkopm9sna1qp@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e09b18d4
    • Arnaldo Carvalho de Melo's avatar
      perf evlist: Introduce strerror_mmap method · 956fa571
      Arnaldo Carvalho de Melo authored
      To pretty print hints about perf_evlist__mmap errors. Will be used in
      'trace' in the next patch.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-2g3gczfwyz0xt3we0s15mqqt@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      956fa571
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Use sysctl__read_int instead of ad-hoc copies · ce27309f
      Arnaldo Carvalho de Melo authored
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-pt2u7a3b50oddggecx7rwq2n@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ce27309f
    • Arnaldo Carvalho de Melo's avatar
      tools lib fs: Add sysctl__read_int helper · 42e3c4a1
      Arnaldo Carvalho de Melo authored
      Will come in handy for tools, see next patches.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-nay9j62ztxpytt4ew1tkl4op@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      42e3c4a1
    • Arnaldo Carvalho de Melo's avatar
      tools lib fs: Adopt filename__read_int from tools/perf/ · 3a351127
      Arnaldo Carvalho de Melo authored
      Will be useful for new helpers to read sysctl values.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3a351127
    • Jiri Olsa's avatar
      perf: Fix events installation during moving group · 9fc81d87
      Jiri Olsa authored
      We allow PMU driver to change the cpu on which the event
      should be installed to. This happened in patch:
      
        e2d37cd2 ("perf: Allow the PMU driver to choose the CPU on which to install events")
      
      This patch also forces all the group members to follow
      the currently opened events cpu if the group happened
      to be moved.
      
      This and the change of event->cpu in perf_install_in_context()
      function introduced in:
      
        0cda4c02 ("perf: Introduce perf_pmu_migrate_context()")
      
      forces group members to change their event->cpu,
      if the currently-opened-event's PMU changed the cpu
      and there is a group move.
      
      Above behaviour causes problem for breakpoint events,
      which uses event->cpu to touch cpu specific data for
      breakpoints accounting. By changing event->cpu, some
      breakpoints slots were wrongly accounted for given
      cpu.
      
      Vinces's perf fuzzer hit this issue and caused following
      WARN on my setup:
      
         WARNING: CPU: 0 PID: 20214 at arch/x86/kernel/hw_breakpoint.c:119 arch_install_hw_breakpoint+0x142/0x150()
         Can't find any breakpoint slot
         [...]
      
      This patch changes the group moving code to keep the event's
      original cpu.
      Reported-by: default avatarVince Weaver <vince@deater.net>
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Vince Weaver <vince@deater.net>
      Cc: Yan, Zheng <zheng.z.yan@intel.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1418243031-20367-3-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      9fc81d87
    • Jiri Olsa's avatar
      perf/x86/intel/uncore: Make sure only uncore events are collected · af91568e
      Jiri Olsa authored
      The uncore_collect_events functions assumes that event group
      might contain only uncore events which is wrong, because it
      might contain any type of events.
      
      This bug leads to uncore framework touching 'not' uncore events,
      which could end up all sorts of bugs.
      
      One was triggered by Vince's perf fuzzer, when the uncore code
      touched breakpoint event private event space as if it was uncore
      event and caused BUG:
      
         BUG: unable to handle kernel paging request at ffffffff82822068
         IP: [<ffffffff81020338>] uncore_assign_events+0x188/0x250
         ...
      
      The code in uncore_assign_events() function was looking for
      event->hw.idx data while the event was initialized as a
      breakpoint with different members in event->hw union.
      
      This patch forces uncore_collect_events() to collect only uncore
      events.
      Reported-by: default avatarVince Weaver <vince@deater.net>
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Yan, Zheng <zheng.z.yan@intel.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1418243031-20367-2-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      af91568e
  4. 10 Dec, 2014 9 commits
    • Alexander Yarygin's avatar
      perf kvm stat live: Mark events as (x86 only) in help output · 99d348a8
      Alexander Yarygin authored
      The mmio and ioport events are useful only on x86.
      Signed-off-by: default avatarAlexander Yarygin <yarygin@linux.vnet.ibm.com>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: http://lkml.kernel.org/r/1418218090-20718-1-git-send-email-borntraeger@de.ibm.comSigned-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      99d348a8
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bee2782f
      Linus Torvalds authored
      Pull leftover perf fixes from Ingo Molnar:
       "Two perf fixes left over from the previous cycle"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf session: Do not fail on processing out of order event
        x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs
      bee2782f
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5706ffd0
      Linus Torvalds authored
      Pull perf events update from Ingo Molnar:
       "On the kernel side there's few changes, the one that stands out is
        PEBS machine state sampling support on x86, by Stephane Eranian.
      
        On the tooling side:
      
        User visible tooling changes:
      
         - Don't open the DWARF info multiple times, keeping instead a dwfl
           handle in struct dso, greatly speeding up 'perf report' on powerpc.
           (Sukadev Bhattiprolu)
      
         - Introduce PARSE_OPT_DISABLED option flag and use it to avoid
           showing undersired options in tools that provides frontends to
           'perf record', like sched, kvm, etc (Namhyung Kim)
      
         - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo
           Carvalho de Melo)
      
         - Fix annotation with kcore (Adrian Hunter)
      
         - Support source line numbers in annotate using a hotkey (Andi Kleen)
      
         - Callchain improvements including:
           * Enable printing the srcline in the history
           * Make get_srcline fall back to sym+offset (Andi Kleen)
      
         - TUI hist_entry browser fixes, including showing missing overhead
           value for first level callchain.  Detected comparing the output of
           --stdio/--gui (that matched) with --tui, that had this problem.
           (Namhyung Kim)
      
         - Support handling complete branch stacks as histograms (Andi Kleen)
      
        Tooling infrastructure changes:
      
         - Prep work for supporting per-pkg and snapshot counters in 'perf
           stat' (Jiri Olsa)
      
         - 'perf stat' refactorings, moving stuff from it to evsel.c to use in
           per-pkg/snapshot format changes (Jiri Olsa)
      
         - Add per-pkg format file parsing (Matt Fleming)
      
         - Clean up libelf feature support code (Namhyung Kim)
      
         - Add gzip decompression support for kernel modules (Namhyung Kim)
      
         - More prep patches for Intel PT, including a a thread stack and more
           stuff made available via the database export mechanism (Adrian
           Hunter)
      
         - More Intel PT work, including a facility to export sample data
           (comms, threads, symbol names, etc) in a database friendly way,
           with an script to use this to create a postgresql database.
           (Adrian Hunter)
      
         - Make sure that thread->mg->machine points to the machine where the
           thread exists (it was being set only for the kmaps kernel modules
           case, do it as well for the mmaps) and use it to shorten function
           signatures (Arnaldo Carvalho de Melo)
      
        ... and lots of other fixes and smaller improvements"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
        perf report: In branch stack mode use address history sorting
        perf report: Add --branch-history option
        perf callchain: Support handling complete branch stacks as histograms
        perf stat: Add support for snapshot counters
        perf stat: Add support for per-pkg counters
        perf tools: Remove perf_evsel__read interface
        perf stat: Use read_counter in read_counter_aggr
        perf stat: Make read_counter work over the thread dimension
        perf stat: Use perf_evsel__read_cb in read_counter
        perf tools: Add snapshot format file parsing
        perf tools: Add per-pkg format file parsing
        perf evsel: Introduce perf_evsel__read_cb function
        perf evsel: Introduce perf_counts_values__scale function
        perf evsel: Introduce perf_evsel__compute_deltas function
        perf tools: Allow to force redirect pr_debug to stderr.
        perf tools: Fix segfault due to invalid kernel dso access
        perf callchain: Make get_srcline fall back to sym+offset
        perf symbols: Move bfd_demangle stubbing to its only user
        perf callchain: Enable printing the srcline in the history
        perf tools: Collapse first level callchain entry if it has sibling
        ...
      5706ffd0
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3011060
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "These are the main changes in this cycle:
      
          - Streamline RCU's use of per-CPU variables, shifting from "cpu"
            arguments to functions to "this_"-style per-CPU variable
            accessors.
      
          - signal-handling RCU updates.
      
          - real-time updates.
      
          - torture-test updates.
      
          - miscellaneous fixes.
      
          - documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        rcu: Fix FIXME in rcu_tasks_kthread()
        rcu: More info about potential deadlocks with rcu_read_unlock()
        rcu: Optimize cond_resched_rcu_qs()
        rcu: Add sparse check for RCU_INIT_POINTER()
        documentation: memory-barriers.txt: Correct example for reorderings
        documentation: Add atomic_long_t to atomic_ops.txt
        documentation: Additional restriction for control dependencies
        documentation: Document RCU self test boot params
        rcutorture: Fix rcu_torture_cbflood() memory leak
        rcutorture: Remove obsolete kversion param in kvm.sh
        rcutorture: Remove stale test configurations
        rcutorture: Enable RCU self test in configs
        rcutorture: Add early boot self tests
        torture: Run Linux-kernel binary out of results directory
        cpu: Avoid puts_pending overflow
        rcu: Remove "cpu" argument to rcu_cleanup_after_idle()
        rcu: Remove "cpu" argument to rcu_prepare_for_idle()
        rcu: Remove "cpu" argument to rcu_needs_cpu()
        rcu: Remove "cpu" argument to rcu_note_context_switch()
        rcu: Remove "cpu" argument to rcu_preempt_check_callbacks()
        ...
      c3011060
    • Linus Torvalds's avatar
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c37f959
      Linus Torvalds authored
      Pull locking tree changes from Ingo Molnar:
       "Two changes: a documentation update and a ticket locks live lock fix"
      
      * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ticketlock: Fix spin_unlock_wait() livelock
        locking/lglocks: Add documentation of current lglocks implementation
      9c37f959
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a0e44677
      Linus Torvalds authored
      Pull asm-generic asm/io.h rewrite from Arnd Bergmann:
       "While there normally is no reason to have a pull request for
        asm-generic but have all changes get merged through whichever tree
        needs them, I do have a series for 3.19.
      
        There are two sets of patches that change significant portions of
        asm/io.h, and this branch contains both in order to resolve the
        conflicts:
      
         - Will Deacon has done a set of patches to ensure that all
           architectures define {read,write}{b,w,l,q}_relaxed() functions or
           get them by including asm-generic/io.h.
      
           These functions are commonly used on ARM specific drivers to avoid
           expensive L2 cache synchronization implied by the normal
           {read,write}{b,w,l,q}, but we need to define them on all
           architectures in order to share the drivers across architectures
           and to enable CONFIG_COMPILE_TEST configurations for them
      
         - Thierry Reding has done an unrelated set of patches that extends
           the asm-generic/io.h file to the degree necessary to make it useful
           on ARM64 and potentially other architectures"
      
      * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (29 commits)
        ARM64: use GENERIC_PCI_IOMAP
        sparc: io: remove duplicate relaxed accessors on sparc32
        ARM: sa11x0: Use void __iomem * in MMIO accessors
        arm64: Use include/asm-generic/io.h
        ARM: Use include/asm-generic/io.h
        asm-generic/io.h: Implement generic {read,write}s*()
        asm-generic/io.h: Reconcile I/O accessor overrides
        /dev/mem: Use more consistent data types
        Change xlate_dev_{kmem,mem}_ptr() prototypes
        ARM: ixp4xx: Properly override I/O accessors
        ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI
        ARM: ebsa110: Properly override I/O accessors
        ARC: Remove redundant PCI_IOBASE declaration
        documentation: memory-barriers: clarify relaxed io accessor semantics
        x86: io: implement dummy relaxed accessor macros for writes
        tile: io: implement dummy relaxed accessor macros for writes
        sparc: io: implement dummy relaxed accessor macros for writes
        powerpc: io: implement dummy relaxed accessor macros for writes
        parisc: io: implement dummy relaxed accessor macros for writes
        mn10300: io: implement dummy relaxed accessor macros for writes
        ...
      a0e44677
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ed8efd2d
      Linus Torvalds authored
      Pull ARM64 SoC changes from Arnd Bergmann:
       "This adds support for two new ARM64 platforms:
      
         - ARM Juno
         - AMD Seattle
      
        We had submissions for a number of additional platforms from Samsung,
        Freescale and Spreadtrum but are still working out the best process
        for getting these merged"
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: amd-seattle: Fix PCI bus range due to SMMU limitation
        arm64: ARM: Fix the Generic Timers interrupt active level description
        arm64: amd-seattle: Adding device tree for AMD Seattle platform
        arm64: Add Juno board device tree.
        arm64: Create link to include/dt-bindings to enable C preprocessor use.
      ed8efd2d
    • Linus Torvalds's avatar
      Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 151cd976
      Linus Torvalds authored
      Pull ARM SoC defconfig changes from Arnd Bergmann:
       "This is a collection of the various changes to defconfig files, most
        importantly enabling some additional platforms in the
        multi_v7_defconfig file.  These are split out into a separate branch
        to avoid most of the merge conflicts in the defconfig files.
      
        This also touches 12 other defconfig files for shmobile, at91,
        hisilicon, keystone, mvebu, omap, and tegra"
      
      * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (36 commits)
        ARM: omap2plus_defconfig: enable ECAP and EHRPWM
        ARM: omap2plus_defconfig: enable XHCI
        ARM: omap2plus_defconfig: enable AM33XX SoC sound
        ARM: omap2plus_defconfig: enable EDT FT5X06 touchscreen
        ARM: omap2plus_defconfig: remove unwanted ethernet drivers
        ARM: multi_v7_defconfig: enable MAX77686 PMIC drivers for exynos4412-prime based SoCs
        ARM: at91/defconfig: add DM9000 to at91_dt
        ARM: at91/defconfig: add QT1070 to at91_dt
        ARM: at91/defconfig: add TCB PWM driver selection
        ARM: at91/defconfig: add the XDMA driver
        ARM: at91: sama5: update defconfig
        ARM: defconfig: imx_v6_v7_defconfig updates
        ARM: multi_v7_defconfig: add driver support for hix5hd2
        ARM: exynos_defconfig: Use 16 minors per MMC block device
        ARM: mvebu: add MTD_BLOCK to mvebu_v7_defconfig
        ARM: mvebu: enable i2c device in mvebu_v7_defconfig
        ARM: mvebu: re-enable SDHCI driver for Armada 38x SoC in v7 defconfig
        ARM: tegra: Regenerate default configuration
        ARM: multi_v7_defconfig: Enable cgroups
        ARM: multi_v7_defconfig: Enable Broadcom Cygnus
        ...
      151cd976
    • Linus Torvalds's avatar
      Merge tag 'omap-gpmc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fe78c54b
      Linus Torvalds authored
      Pull ARM SoC/OMAP GPMC driver cleanup and move from Arnd Bergmann:
       "The GPMC driver has traditionally been considered a part of the OMAP
        platform code and tightly interweaved with some of the boards.
      
        With this cleanup, it has finally come to the point where it makes
        sense to move it out of arch/arm into drivers/memory, where we already
        have other drivers for similar hardware.  The cleanups are still
        ongoing, with the goal of eventually having a standalone driver that
        does not require an interface to architecture code.
      
        This is a separate branch because of dependencies on multiple other
        branches, and to keep the drivers changes separate from the normal
        cleanups"
      
      * tag 'omap-gpmc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        memory: gpmc: Move omap gpmc code to live under drivers
        ARM: OMAP2+: Move GPMC initcall to devices.c
        ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header
        ARM: OMAP2+: Remove unnecesary include in GPMC driver
        ARM: OMAP2+: Drop board file for 3430sdp
        ARM: OMAP2+: Drop board file for ti8168evm
        ARM: OMAP2+: Drop legacy code for gpmc-smc91x.c
        ARM: OMAP2+: Require proper GPMC timings for devices
        ARM: OMAP2+: Show bootloader GPMC timings to allow configuring the .dts file
        ARM: OMAP2+: Fix support for multiple devices on a GPMC chip select
        ARM: OMAP2+: gpmc: Sanity check GPMC fck on probe
        ARM: OMAP2+: gpmc: Keep Chip Select disabled while configuring it
        ARM: OMAP2+: gpmc: Always enable A26-A11 for non NAND devices
        ARM: OMAP2+: gpmc: Error out if timings fail in gpmc_probe_generic_child()
        ARM: OMAP2+: gpmc: Print error message in set_gpmc_timing_reg()
      fe78c54b
  5. 09 Dec, 2014 20 commits
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6da31412
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "The DT branch adds a lot of new stuff for additional SoC and board
        support.  The branch is the largest one and contains 513 out of the
        total 972 non-merge arm-soc changesets for 3.19.
      
        Most of the changes are about enabling additional on-chip devices for
        existing machines, but there are also an unusual number of new SoC
        types being added this time:
      
         - AMLogic Meson8
         - ARM Realview in DT mode
         - Allwinner A80
         - Broadcom BCM47081
         - Broadcom Cygnus
         - Freescale LS1021A
         - Freescale Vybrid 500 series
         - Mediatek MT6592, MT8127, MT8135
         - STMicroelectronics STiH410
         - Samsung Exynos4415
      
        The level of support for the above differs widely, some are just stubs
        with nothing more than CPU, memory and a UART, but others are fairly
        complete.  As usual, these get extended over time.
      
        There are also many new boards getting added, this is the list of
        model strings that are showing up in new dts files:
      
         - ARM RealView PB1176
         - Altera SOCFPGA Arria 10
         - Asus RT-N18U (BCM47081)
         - Buffalo WZR-1750DHP (BCM4708)
         - Buffalo WZR-600DHP2 (BCM47081)
         - Cygnus Enterprise Phone (BCM911360_ENTPHN)
         - D-Link DIR-665
         - Google Spring
         - IGEP COM MODULE Rev. G (TI OMAP AM/DM37x)
         - IGEPv2 Rev. F (TI OMAP AM/DM37x)
         - LS1021A QDS Board
         - LS1021A TWR Board
         - LeMaker Banana Pi
         - MarsBoard RK3066
         - MediaTek MT8127 Moose Board
         - MediaTek MT8135 evaluation board
         - Mele M3
         - Merrii A80 Optimus Board
         - Netgear R6300 V2 (BCM4708)
         - Nomadik STN8815NHK
         - NovaTech OrionLXm
         - Olimex A20-OLinuXino-LIME2
         - Raspberry Pi Model B+
         - STiH410 B2120
         - Samsung Monk board
         - Samsung Rinato board
         - Synology DS213j
         - Synology DS414
         - TBS2910 Matrix ARM mini PC
         - TI AM5728 BeagleBoard-X15
         - Toradex Colibri VF50 on Colibri Evaluation Board
         - Zynq ZYBO Development Board
      
        Other notable changes include:
      
         - exynos: cleanup of existing dts files
         - mvebu: improved pinctrl support for Armada 370/XP
         - nomadik: restructuring dts files
         - omap: added CAN bus support
         - shmobile: added clock support for some SoCs
         - shmobile: added sound support for some SoCs
         - sirf: reset controller support
         - sunxi: continuing the relicensing under dual GPL/MIT
         - sunxi: lots of new on-chip device support
         - sunxi: working simplefb support (long awaited)
         - various: provide stdout-path property for earlycon"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (510 commits)
        ARM: dts: rk3288: add arm,cpu-registers-not-fw-configured
        Revert "ARM: dts: rockchip: temporarily disable smp on rk3288"
        ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2
        ARM: BCM5301X: Add DT for Asus RT-N18U
        ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP
        ARM: BCM5301X: Add DT for Netgear R6300 V2
        ARM: BCM5301X: Add buttons for Netgear R6250
        ARM: dts: rockchip: Add input voltage supply regulators in pmic for Marsboard
        ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file
        arm: dts: zynq: Add Digilent ZYBO board
        arm: dts: zynq: Move crystal freq. to board level
        doc: dt: vendor-prefixes: Add Digilent Inc
        Documentation: devicetree: Fix Xilinx VDMA specification
        ARM: dts: rockchip: set FIFO size for SDMMC, SDIO and EMMC on rk3066 and rk3188
        ARM: dts: rockchip: add label property for leds on Radxa Rock
        ARM: BCM5301X: Add LEDs for Netgear R6250 V1
        ARM: BCM5301X: Add Broadcom's bus-axi to the DTS file
        ARM: dts: add sysreg phandle to i2c device nodes for exynos
        ARM: dts: Remove unused bootargs from exynos3250-rinato
        ARM: dts: add board dts file for Exynos3250-based Monk board
        ...
      6da31412
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3a647c1d
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "These are changes for drivers that are intimately tied to some SoC and
        for some reason could not get merged through the respective subsystem
        maintainer tree.
      
        The largest single change here this time around is the Tegra
        iommu/memory controller driver, which gets updated to the new iommu DT
        binding.  More drivers like this are likely to follow for the
        following merge window, but we should be able to do those through the
        iommu maintainer.
      
        Other notable changes are:
         - reset controller drivers from the reset maintainer (socfpga, sti,
           berlin)
         - fixes for the keystone navigator driver merged last time
         - at91 rtc driver changes related to the at91 cleanups
         - ARM perf driver changes from Will Deacon
         - updates for the brcmstb_gisb driver"
      
      * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
        clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
        clocksource: arch_timer: Fix code to use physical timers when requested
        memory: Add NVIDIA Tegra memory controller support
        bus: brcmstb_gisb: Add register offset tables for older chips
        bus: brcmstb_gisb: Look up register offsets in a table
        bus: brcmstb_gisb: Introduce wrapper functions for MMIO accesses
        bus: brcmstb_gisb: Make the driver buildable on MIPS
        of: Add NVIDIA Tegra memory controller binding
        ARM: tegra: Move AHB Kconfig to drivers/amba
        amba: Add Kconfig file
        clk: tegra: Implement memory-controller clock
        serial: samsung: Fix serial config dependencies for exynos7
        bus: brcmstb_gisb: resolve section mismatch
        ARM: common: edma: edma_pm_resume may be unused
        ARM: common: edma: add suspend resume hook
        powerpc/iommu: Rename iommu_[un]map_sg functions
        rtc: at91sam9: add DT bindings documentation
        rtc: at91sam9: use clk API instead of relying on AT91_SLOW_CLOCK
        ARM: at91: add clk_lookup entry for RTT devices
        rtc: at91sam9: rework the Kconfig description
        ...
      3a647c1d
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6cd94d5e
      Linus Torvalds authored
      Pull ARM SoC platform changes from Arnd Bergmann:
       "New and updated SoC support, notable changes include:
      
         - bcm:
              brcmstb SMP support
              initial iproc/cygnus support
         - exynos:
              Exynos4415 SoC support
              PMU and suspend support for Exynos5420
              PMU support for Exynos3250
              pm related maintenance
         - imx:
              new LS1021A SoC support
              vybrid 610 global timer support
         - integrator:
              convert to using multiplatform configuration
         - mediatek:
              earlyprintk support for mt8127/mt8135
         - meson:
              meson8 soc and l2 cache controller support
         - mvebu:
              Armada 38x CPU hotplug support
              drop support for prerelease Armada 375 Z1 stepping
              extended suspend support, now works on Armada 370/XP
         - omap:
              hwmod related maintenance
              prcm cleanup
         - pxa:
              initial pxa27x DT handling
         - rockchip:
              SMP support for rk3288
              add cpu frequency scaling support
         - shmobile:
              r8a7740 power domain support
              various small restart, timer, pci apmu changes
         - sunxi:
              Allwinner A80 (sun9i) earlyprintk support
         - ux500:
              power domain support
      
        Overall, a significant chunk of changes, coming mostly from the usual
        suspects: omap, shmobile, samsung and mvebu, all of which already
        contain a lot of platform specific code in arch/arm"
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (187 commits)
        ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
        soc: integrator: Add terminating entry for integrator_cm_match
        ARM: mvebu: add SDRAM controller description for Armada XP
        ARM: mvebu: adjust mbus controller description on Armada 370/XP
        ARM: mvebu: add suspend/resume DT information for Armada XP GP
        ARM: mvebu: synchronize secondary CPU clocks on resume
        ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
        ARM: mvebu: Armada XP GP specific suspend/resume code
        ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
        ARM: mvebu: implement suspend/resume support for Armada XP
        clk: mvebu: add suspend/resume for gatable clocks
        bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
        bus: mvebu-mbus: suspend/resume support
        clocksource: time-armada-370-xp: add suspend/resume support
        irqchip: armada-370-xp: Add suspend/resume support
        ARM: add lolevel debug support for asm9260
        ARM: add mach-asm9260
        ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
        power: reset: imx-snvs-poweroff: add power off driver for i.mx6
        ARM: imx: temporarily remove CONFIG_SOC_FSL from LS1021A
        ...
      6cd94d5e
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6c9e9247
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "The remaining cleanups for 3.19 are to a large part result of
        devicetree conversion nearing completion on two other platforms
        besides AT91:
      
         - Like AT91, Renesas shmobile is in the process to migrate to DT and
           multiplatform, but using a different approach of doing it one SoC
           at a time.  For 3.19, the r8a7791 platform and associated "Koelsch"
           board are considered complete and we remove the non-DT
           non-multiplatform support for this.
      
         - The ARM Versatile Express has supported DT and multiplatform for a
           long time, but we have still kept the legacy board files around,
           because not all drivers were fully working before.  We have finally
           taken the last step to remove the board files.
      
        Other changes in this branch are preparation for the later branches or
        just unrelated to the more interesting changes:
      
         - The dts files for arm64 get moved into per-vendor directories for a
           clearer structure.
      
         - Some dead code removal (zynq, exynos, davinci, imx)
      
         - Using pr_*() macros more consistently instead of printk(KERN_*) in
           some platform code"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (71 commits)
        ARM: zynq: Remove secondary_startup() declaration from header
        ARM: vexpress: Enable regulator framework when MMCI is in use
        ARM: vexpress: Remove non-DT code
        ARM: imx: Remove unneeded .map_io initialization
        ARM: dts: imx6qdl-sabresd: Fix the microphone route
        ARM: imx: refactor mxc_iomux_mode()
        ARM: imx: simplify clk_pllv3_prepare()
        ARM: imx6q: drop unnecessary semicolon
        ARM: imx: clean up machine mxc_arch_reset_init_dt reset init
        ARM: dts: imx6qdl-rex: Remove unneeded 'fsl,mode' property
        ARM: dts: imx6qdl-gw5x: Remove unneeded 'fsl,mode' property
        ARM: dts: imx6qdl-sabresd: Use IMX6QDL_CLK_CKO define
        ARM: at91: remove useless init_time for DT-only SoCs
        ARM: davinci: Remove redundant casts
        ARM: davinci: Use standard logging styles
        ARM: shmobile: r8a7779: Spelling/grammar s/entity/identity/, s/map/mapping/
        ARM: shmobile: sh7372: Spelling/grammar s/entity map/identity mapping/
        ARM: shmobile: sh73a0: Spelling/grammar s/entity map/identity mapping/
        ARM: EXYNOS: Remove unused static iomapping
        ARM: at91: fix build breakage due to legacy board removals
        ...
      6c9e9247
    • Linus Torvalds's avatar
      Merge tag 'at91-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0563fdc0
      Linus Torvalds authored
      Pull ARM SoC cleanup on mach-at91 from Arnd Bergmann:
       "On Atmel AT91, the conversion to device tree is now considered
        complete, and all machines that were not already converted in 3.18 are
        assumed to be unused and dropped by the maintainer.
      
        All remaining board files that were written in C are dropped, and the
        ancient at91x40 sub-platform (based on an MMU-less ARM7) is removed
        altogether.  Cleaning up the last pieces was great fun, so I took the
        time to do some of the coding myself and removed several hundred code
        lines that ended up unused after the board files were done.
      
        There are still a couple of AT91 specific device drivers that are not
        converted to DT (CF, USB-OTG) and currently not working, and the
        platform itself is not "multiplatform"-enabled, but both issues are
        going to be taken care of in the 3.20 cycle.
      
        This is split out from the other cleanups purely based on the size of
        the branch"
      
      * tag 'at91-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (33 commits)
        ARM: at91: remove unused board.h file
        ARM: at91: remove unneeded header files
        ARM: at91/clocksource: remove !DT PIT initializations
        ARM: at91: at91rm9200 ST initialization is now DT only
        ARM: at91: remove old AT91-specific drivers
        ARM: at91: cleanup initilisation code by removing dead code
        ARM: at91/Kconfig: select board files automatically
        ARM: at91: remove unused IRQ function declarations
        ARM: at91: remove legacy IRQ driver and related code
        ARM: at91: remove old at91-specific clock driver
        ARM: at91: remove clock data in at91sam9n12.c and at91sam9x5.c files
        ARM: at91: remove all !DT related configuration options
        ARM: at91/trivial: update Kconfig comment to mention SAMA5
        ARM: at91: always USE_OF from now on
        ARM: at91/Kconfig: remove ARCH_AT91RM9200 option for drivers
        ARM: at91: switch configuration option to SOC_AT91RM9200
        ARM: at91: remove at91rm9200 legacy board support
        ARM: at91: remove at91rm9200 legacy boards files
        ARM: at91/Kconfig: remove useless fbdev Kconfig options
        ARM: at91: remove at91sam9261/at91sam9g10 legacy board support
        ...
      0563fdc0
    • Linus Torvalds's avatar
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0a9e0acd
      Linus Torvalds authored
      Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
       "These are bug fixes for harmless problems that were not important
        enough to get fixed in 3.19.  This contains updates to the MAINTAINERS
        file, in particular:
      
         - Ben Dooks stepped down as Samsung co-maintainer (thanks Ben for
           long years of maintaining this).  Kukjin Kim, who has been doing
           the work de-facto by himself recently is now the only maintainer.
      
         - Liviu, Sudeep and Lorenzo from ARM now officially maintain the
           Versatile Express platform, which was orphaned (thanks for
      
         - Gregory Fong and Florian Fainelli help out on the Broadcom BCM7XXX
           platform
      
         - Ray Jui and Scott Branden are the future maintainers for the newly
           merged Broadcom Cygnus platform.  Welcome!
      
        In terms of actual fixes, we have the usual set of OMAP bug fixes,
        which Tony Lindgren separates out well from the other OMAP changes,
        one really ep93xx regression fix against 3.11 that didn't make it for
        3.18, a few GIC changes from Marc Zyngier as a preparation for later
        rework (the current code is wrong in a harmless way), on Tegra
        regression and one samsung spelling fix"
      
      * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: imx6: fix bogus use of irq_get_irq_data
        ARM: imx: irq: fix buggy usage of irq_data irq field
        MAINTAINERS: ARM Versatile Express platform, add missing pattern
        MAINTAINERS: ARM Versatile Express platform
        arm: ep93xx: add dma_masks for the M2P and M2M DMA controllers
        MAINTAINERS: Add ahci_st.c to ARCH/STI architecture
        MAINTAINERS: add entry for the GISB arbiter driver
        MAINTAINERS: update brcmstb entries
        MAINTAINERS: update email address and cleanup for exynos entry
        ARM: tegra: Re-add removed SoC id macro to tegra_resume()
        MAINTAINERS: Entry for Cygnus/iproc arm architecture
        ARM: OMAP: serial: remove last vestige of DTR_gpio support.
        ARM: OMAP2+: gpmc: Get rid of "ti,elm-id not found" warning
        ARM: EXYNOS: fix typo in static struct name "exynos5_list_diable_wfi_wfe"
        ARM: OMAP2: Remove unnecessary KERN_* in omap_phy_internal.c
        ARM: OMAP4+: Remove unused omap_l3_noc platform init
        ARM: dts: Add twl keypad map for omap3 EVM
        ARM: dts: Add twl keypad map for LDP
        ARM: dts: Fix NAND last partition size on LDP
        ARM: OMAP3: Fix errors for omap_l3_smx when booted with device tree
      0a9e0acd
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b64bb1d7
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Here's the usual mixed bag of arm64 updates, also including some
        related EFI changes (Acked by Matt) and the MMU gather range cleanup
        (Acked by you).
      
        Changes include:
         - support for alternative instruction patching from Andre
         - seccomp from Akashi
         - some AArch32 instruction emulation, required by the Android folks
         - optimisations for exception entry/exit code, cmpxchg, pcpu atomics
         - mmu_gather range calculations moved into core code
         - EFI updates from Ard, including long-awaited SMBIOS support
         - /proc/cpuinfo fixes to align with the format used by arch/arm/
         - a few non-critical fixes across the architecture"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (70 commits)
        arm64: remove the unnecessary arm64_swiotlb_init()
        arm64: add module support for alternatives fixups
        arm64: perf: Prevent wraparound during overflow
        arm64/include/asm: Fixed a warning about 'struct pt_regs'
        arm64: Provide a namespace to NCAPS
        arm64: bpf: lift restriction on last instruction
        arm64: Implement support for read-mostly sections
        arm64: compat: align cacheflush syscall with arch/arm
        arm64: add seccomp support
        arm64: add SIGSYS siginfo for compat task
        arm64: add seccomp syscall for compat task
        asm-generic: add generic seccomp.h for secure computing mode 1
        arm64: ptrace: allow tracer to skip a system call
        arm64: ptrace: add NT_ARM_SYSTEM_CALL regset
        arm64: Move some head.text functions to executable section
        arm64: jump labels: NOP out NOP -> NOP replacement
        arm64: add support to dump the kernel page tables
        arm64: Add FIX_HOLE to permanent fixed addresses
        arm64: alternatives: fix pr_fmt string for consistency
        arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time
        ...
      b64bb1d7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 50569687
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mm: Eliminate memset after alloc_bootmem_pages
        nubus: Remove superfluous interrupt disable/restore
      50569687
    • Linus Torvalds's avatar
      Merge tag 'nios2-v3.19-rc1' of git://git.rocketboards.org/linux-socfpga-next · a4a26e8e
      Linus Torvalds authored
      Pull Altera Nios II processor support from Ley Foon Tan:
       "Here is the Linux port for Nios II processor (from Altera) arch/nios2/
        tree for v3.19.
      
        The patchset has been discussed on the kernel mailing lists since
        April and has gone through 6 revisions of review.  The additional
        changes since then have been mostly further cleanups and fixes when
        merged with other trees.
      
        The arch code is in arch/nios2 and one asm-generic change (acked by
        Arnd)"
      
      Arnd Bergmann says:
       "I've reviewed the architecture port in the past and it looks good in
        its latest version"
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      
      * tag 'nios2-v3.19-rc1' of git://git.rocketboards.org/linux-socfpga-next: (40 commits)
        nios2: Make NIOS2_CMDLINE_IGNORE_DTB depend on CMDLINE_BOOL
        nios2: Add missing NR_CPUS to Kconfig
        nios2: asm-offsets: Remove unused definition TI_TASK
        nios2: Remove write-only struct member from nios2_timer
        nios2: Remove unused extern declaration of shm_align_mask
        nios2: include linux/type.h in io.h
        nios2: move include asm-generic/io.h to end of file
        nios2: remove include asm-generic/iomap.h from io.h
        nios2: remove unnecessary space before define
        nios2: fix error handling of irq_of_parse_and_map
        nios2: Use IS_ENABLED instead of #ifdefs to check config symbols
        nios2: Build infrastructure
        Documentation: Add documentation for Nios2 architecture
        MAINTAINERS: Add nios2 maintainer
        nios2: ptrace support
        nios2: Module support
        nios2: Nios2 registers
        nios2: Miscellaneous header files
        nios2: Cpuinfo handling
        nios2: Time keeping
        ...
      a4a26e8e
    • Jiri Olsa's avatar
      perf tests: Fix attr tests size values to cope with machine state on interrupt ABI changes · 75226c57
      Jiri Olsa authored
      Following change adjusted 'struct perf_event_attr', but let
      the attr test's sizes untouched:
        60e2364e perf: Add ability to sample machine state on interrupt
      
        [jolsa@krava perf]$ ./perf test attr -vv
        --- start ---
        test child forked, pid 9719
        running './tests/attr/test-stat-group1'
          'PERF_TEST_ATTR=/tmp/tmp4drvul ./perf stat -o /tmp/tmp4drvul/perf.data -e '{cycles,instructions}' kill >/dev/null 2>&1' ret 1
        expected size=96, got 104
        FAILED './tests/attr/test-stat-group1' - match failure
      
      Adjusting test size values for attr test.
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/20141209135301.GC6784@krava.brq.redhat.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      75226c57
    • Arjun Sreedharan's avatar
      calloc/xcalloc: Fix argument order · e4e458b4
      Arjun Sreedharan authored
      The calloc() and xcalloc() functions takes @nmemb first and then @size.  Fix all w/
      pattern "calloc\s*(\s*sizeof".
      Signed-off-by: default avatarArjun Sreedharan <arjun024@gmail.com>
      Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1417866043-1877-1-git-send-email-arjun024@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e4e458b4
    • Kan Liang's avatar
      perf callchain: Move cpumode resolve code to add_callchain_ip · 2e77784b
      Kan Liang authored
      Using flag to distinguish between branch_history and normal callchain.
      
      Move the cpumode to add_callchain_ip function.
      
      No change in behavior.
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1417532814-26208-3-git-send-email-kan.liang@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2e77784b
    • Kan Liang's avatar
      perf callchain: Fixup parameter handling error message · f70b4e39
      Kan Liang authored
      Fix up parse_callchain_record_opt error message for 'fp', in the past using '-g
      fp' was a valid alternative to '--call-graph fp', which is not the case since:
      
        commit 09b0fd45
        Author: Jiri Olsa <jolsa@redhat.com>
        Date:   Sat Oct 26 16:25:33 2013 +0200
      
        perf record: Split -g and --call-graph
      
      I.e. -g means "use the configured unwind data collection method" which has as
      default 'fp', while --call-graph requires passing the method to use.
      Signed-off-by: default avatarKan Liang <kan.liang@intel.com>
      Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1417532814-26208-2-git-send-email-kan.liang@intel.com
      [ split this from a larger patch related to LBR based unwinding ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f70b4e39
    • Jiri Olsa's avatar
      perf tools: Add --buildid-dir option to set cache directory · 99ce8e9f
      Jiri Olsa authored
      Adding --buildid-dir to be able to set specific cache directory. It's
      going to be handy for buildid tests coming in shortly.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1417460789-13874-4-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      99ce8e9f
    • Jiri Olsa's avatar
      perf buildid cache: Fix -a segfault related to kcore handling · eec5a688
      Jiri Olsa authored
      The kcore_filename is uninitialized and trash value could trigger
      build_id_cache__add_kcore function ending up with segfault.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1417460789-13874-7-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      eec5a688
    • Jiri Olsa's avatar
      perf buildid-cache: Remove extra debugdir variables · 498922ad
      Jiri Olsa authored
      There's no need to copy over the buildid_dir into separate variable with
      no change.
      
      This is leftover from commit:
        45de34bb perf buildid: add perfconfig option to specify buildid cache dir
      
      that added global buildid_dir variable that holds cache directory, but
      did not cleanup the debugdir copies.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1417460789-13874-3-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      498922ad
    • Jiri Olsa's avatar
      perf tools: Use single strcmp call instead of two · cfd31d85
      Jiri Olsa authored
      There's no need to use 2 strcmp calls, one is enough.
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1417460789-13874-2-git-send-email-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cfd31d85
    • Tom Huynh's avatar
      perf hists browser: Change print format from %lu to %PRIu64 · e641f696
      Tom Huynh authored
      The nr_events variable in tools/perf/ui/browsers/hists.c is of type u64,
      so the print format (%lu) causes 'perf report' to show 0 event count
      when running with 32-bit userspace without redirection.
      
      This patch fixes that problem by printing nr_events as PRIu64.
      Signed-off-by: default avatarTom Huynh <tom.huynh@freescale.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kim Phillips <kim.phillips@freescale.com>
      Cc: Matt Mullins <mmullins@mmlx.us>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1417541842-9747-1-git-send-email-tom.huynh@freescale.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e641f696
    • Rabin Vincent's avatar
      perf bench: Fix memcpy/memset output · 1182f883
      Rabin Vincent authored
      The memcpy and memset benchmarks return bogus results when iterations >
      0 because the iterations value is not taken into account when
      calculating the final result:
      
       $ perf bench mem memset --only-prefault --length 1GB --iterations 1
       # Running 'mem/memset' benchmark:
       # Copying 1GB Bytes ...
      
             20.798669 GB/Sec (with prefault)
       $ perf bench mem memset --only-prefault --length 1GB --iterations 10
       # Running 'mem/memset' benchmark:
       # Copying 1GB Bytes ...
      
              2.086576 GB/Sec (with prefault)
       $ perf bench mem memset --only-prefault --length 1GB --iterations 100
       # Running 'mem/memset' benchmark:
       # Copying 1GB Bytes ...
      
            212.840917 MB/Sec (with prefault)
      
      Fix this.
      Signed-off-by: default avatarRabin Vincent <rabin.vincent@axis.com>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Rabin Vincent <rabin@rab.in>
      Cc: Rabin Vincent <rabinv@axis.com>
      Link: http://lkml.kernel.org/r/1417535441-3965-3-git-send-email-rabin.vincent@axis.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1182f883
    • Rabin Vincent's avatar
      perf bench: Merge memset into memcpy · 5bce1a57
      Rabin Vincent authored
      The memset benchmark is largely copy-pasted from the memcpy benchmark.
      Merge the two now that memcpy is made more generic.
      Signed-off-by: default avatarRabin Vincent <rabin.vincent@axis.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Rabin Vincent <rabinv@axis.com>
      Link: http://lkml.kernel.org/r/1417535441-3965-2-git-send-email-rabin.vincent@axis.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5bce1a57