1. 10 7月, 2015 1 次提交
    • G
      ARM: 8395/1: l2c: Add support for the "arm,shared-override" property · eeedcea6
      Geert Uytterhoeven 提交于
      "CoreLink Level 2 Cache Controller L2C-310", p. 2-15, section 2.3.2
      Shareable attribute" states:
      
          "The default behavior of the cache controller with respect to the
           shareable attribute is to transform Normal Memory Non-cacheable
           transactions into:
              - cacheable no allocate for reads
              - write through no write allocate for writes."
      
      Depending on the system architecture, this may cause memory corruption
      in the presence of bus mastering devices (e.g. OHCI). To avoid such
      corruption, the default behavior can be disabled by setting the Shared
      Override bit in the Auxiliary Control register.
      
      Currently the Shared Override bit can be set only using C code:
        - by calling l2x0_init() directly, which is deprecated,
        - by setting/clearing the bit in the machine_desc.l2c_aux_val/mask
          fields, but using values differing from 0/~0 is also deprecated.
      
      Hence add support for an "arm,shared-override" device tree property for
      the l2c device node. By specifying this property, affected systems can
      indicate that non-cacheable transactions must not be transformed.
      Then, it's up to the OS to decide. The current behavior is to set the
      "shared attribute override enable" bit, as there may exist kernel linear
      mappings and cacheable aliases for the DMA buffers, even if CMA is
      enabled.
      
      See also commit 1a8e41cd ("ARM: 6395/1: VExpress: Set bit 22 in
      the PL310 (cache controller) AuxCtlr register"):
      
          "Clearing bit 22 in the PL310 Auxiliary Control register (shared
           attribute override enable) has the side effect of transforming
           Normal Shared Non-cacheable reads into Cacheable no-allocate reads.
      
           Coherent DMA buffers in Linux always have a Cacheable alias via the
           kernel linear mapping and the processor can speculatively load
           cache lines into the PL310 controller. With bit 22 cleared,
           Non-cacheable reads would unexpectedly hit such cache lines leading
           to buffer corruption."
      Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      eeedcea6
  2. 06 7月, 2015 2 次提交
    • L
      Linux 4.2-rc1 · d770e558
      Linus Torvalds 提交于
      d770e558
    • L
      Merge tag 'platform-drivers-x86-v4.2-2' of... · a585d2b7
      Linus Torvalds 提交于
      Merge tag 'platform-drivers-x86-v4.2-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull late x86 platform driver updates from Darren Hart:
       "The following came in a bit later and I wanted them to bake in next a
        few more days before submitting, thus the second pull.
      
        A new intel_pmc_ipc driver, a symmetrical allocation and free fix in
        dell-laptop, a couple minor fixes, and some updated documentation in
        the dell-laptop comments.
      
        intel_pmc_ipc:
         - Add Intel Apollo Lake PMC IPC driver
      
        tc1100-wmi:
         - Delete an unnecessary check before the function call "kfree"
      
        dell-laptop:
         - Fix allocating & freeing SMI buffer page
         - Show info about WiGig and UWB in debugfs
         - Update information about wireless control"
      
      * tag 'platform-drivers-x86-v4.2-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
        intel_pmc_ipc: Add Intel Apollo Lake PMC IPC driver
        tc1100-wmi: Delete an unnecessary check before the function call "kfree"
        dell-laptop: Fix allocating & freeing SMI buffer page
        dell-laptop: Show info about WiGig and UWB in debugfs
        dell-laptop: Update information about wireless control
      a585d2b7
  3. 05 7月, 2015 34 次提交
  4. 04 7月, 2015 3 次提交
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1be9ead
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar:
       "Two FPU rewrite related fixes.  This addresses all known x86
        regressions at this stage.  Also some other misc fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Fix boot crash in the early FPU code
        x86/asm/entry/64: Update path names
        x86/fpu: Fix FPU related boot regression when CPUID masking BIOS feature is enabled
        x86/boot/setup: Clean up the e820_reserve_setup_data() code
        x86/kaslr: Fix typo in the KASLR_FLAG documentation
      b1be9ead
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 22a093b2
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "Debug info and other statistics fixes and related enhancements"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/numa: Fix numa balancing stats in /proc/pid/sched
        sched/numa: Show numa_group ID in /proc/sched_debug task listings
        sched/debug: Move print_cfs_rq() declaration to kernel/sched/sched.h
        sched/stat: Expose /proc/pid/schedstat if CONFIG_SCHED_INFO=y
        sched/stat: Simplify the sched_info accounting dependency
      22a093b2
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c1776a18
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "This tree includes an x86 PMU scheduling fix, but most changes are
        late breaking tooling fixes and updates:
      
        User visible fixes:
      
         - Create config.detected into OUTPUT directory, fixing parallel
           builds sharing the same source directory (Aaro Kiskinen)
      
         - Allow to specify custom linker command, fixing some MIPS64 builds.
           (Aaro Kiskinen)
      
         - Fix to show proper convergence stats in 'perf bench numa' (Srikar
           Dronamraju)
      
        User visible changes:
      
         - Validate syscall list passed via -e argument to 'perf trace'.
           (Arnaldo Carvalho de Melo)
      
         - Introduce 'perf stat --per-thread' (Jiri Olsa)
      
         - Check access permission for --kallsyms and --vmlinux (Li Zhang)
      
         - Move toggling event logic from 'perf top' and into hists browser,
           allowing freeze/unfreeze with event lists with more than one entry
           (Namhyung Kim)
      
         - Add missing newlines when dumping PERF_RECORD_FINISHED_ROUND and
           showing the Aggregated stats in 'perf report -D' (Adrian Hunter)
      
        Infrastructure fixes:
      
         - Add missing break for PERF_RECORD_ITRACE_START, which caused those
           events samples to be parsed as well as PERF_RECORD_LOST_SAMPLES.
           ITRACE_START only appears when Intel PT or BTS are present, so..
           (Jiri Olsa)
      
         - Call the perf_session destructor when bailing out in the inject,
           kmem, report, kvm and mem tools (Taeung Song)
      
        Infrastructure changes:
      
         - Move stuff out of 'perf stat' and into the lib for further use
           (Jiri Olsa)
      
         - Reference count the cpu_map and thread_map classes (Jiri Olsa)
      
         - Set evsel->{cpus,threads} from the evlist, if not set, allowing the
           generalization of some 'perf stat' functions that previously were
           accessing private static evlist variable (Jiri Olsa)
      
         - Delete an unnecessary check before the calling free_event_desc()
           (Markus Elfring)
      
         - Allow auxtrace data alignment (Adrian Hunter)
      
         - Allow events with dot (Andi Kleen)
      
         - Fix failure to 'perf probe' events on arm (He Kuang)
      
         - Add testing for Makefile.perf (Jiri Olsa)
      
         - Add test for make install with prefix (Jiri Olsa)
      
         - Fix single target build dependency check (Jiri Olsa)
      
         - Access thread_map entries via accessors, prep patch to hold more
           info per entry, for ongoing 'perf stat --per-thread' work (Jiri
           Olsa)
      
         - Use __weak definition from compiler.h (Sukadev Bhattiprolu)
      
         - Split perf_pmu__new_alias() (Sukadev Bhattiprolu)"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        perf tools: Allow to specify custom linker command
        perf tools: Create config.detected into OUTPUT directory
        perf mem: Fill in the missing session freeing after an error occurs
        perf kvm: Fill in the missing session freeing after an error occurs
        perf report: Fill in the missing session freeing after an error occurs
        perf kmem: Fill in the missing session freeing after an error occurs
        perf inject: Fill in the missing session freeing after an error occurs
        perf tools: Add missing break for PERF_RECORD_ITRACE_START
        perf/x86: Fix 'active_events' imbalance
        perf symbols: Check access permission when reading symbol files
        perf stat: Introduce --per-thread option
        perf stat: Introduce print_counters function
        perf stat: Using init_stats instead of memset
        perf stat: Rename print_interval to process_interval
        perf stat: Remove perf_evsel__read_cb function
        perf stat: Move perf_stat initialization counter process code
        perf stat: Move zero_per_pkg into counter process code
        perf stat: Separate counters reading and processing
        perf stat: Introduce read_counters function
        perf stat: Introduce perf_evsel__read function
        ...
      c1776a18