1. 29 5月, 2014 2 次提交
    • A
      arm64: Add ftrace support · 819e50e2
      AKASHI Takahiro 提交于
      This patch implements arm64 specific part to support function tracers,
      such as function (CONFIG_FUNCTION_TRACER), function_graph
      (CONFIG_FUNCTION_GRAPH_TRACER) and function profiler
      (CONFIG_FUNCTION_PROFILER).
      
      With 'function' tracer, all the functions in the kernel are traced with
      timestamps in ${sysfs}/tracing/trace. If function_graph tracer is
      specified, call graph is generated.
      
      The kernel must be compiled with -pg option so that _mcount() is inserted
      at the beginning of functions. This function is called on every function's
      entry as long as tracing is enabled.
      In addition, function_graph tracer also needs to be able to probe function's
      exit. ftrace_graph_caller() & return_to_handler do this by faking link
      register's value to intercept function's return path.
      
      More details on architecture specific requirements are described in
      Documentation/trace/ftrace-design.txt.
      Reviewed-by: NGanapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      819e50e2
    • A
      ftrace: Add arm64 support to recordmcount · af64d2aa
      AKASHI Takahiro 提交于
      Recordmcount utility under scripts is run, after compiling each object,
      to find out all the locations of calling _mcount() and put them into
      specific seciton named __mcount_loc.
      Then linker collects all such information into a table in the kernel image
      (between __start_mcount_loc and __stop_mcount_loc) for later use by ftrace.
      
      This patch adds arm64 specific definitions to identify such locations.
      There are two types of implementation, C and Perl. On arm64, only C version
      is used to build the kernel now that CONFIG_HAVE_C_RECORDMCOUNT is on.
      But Perl version is also maintained.
      
      This patch also contains a workaround just in case where a header file,
      elf.h, on host machine doesn't have definitions of EM_AARCH64 nor
      R_AARCH64_ABS64. Without them, compiling C version of recordmcount will
      fail.
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      af64d2aa
  2. 15 5月, 2014 1 次提交
  3. 09 5月, 2014 1 次提交
  4. 23 4月, 2014 1 次提交
  5. 08 4月, 2014 2 次提交
  6. 03 4月, 2014 1 次提交
  7. 19 3月, 2014 1 次提交
  8. 15 3月, 2014 2 次提交
  9. 13 3月, 2014 2 次提交
  10. 04 3月, 2014 1 次提交
    • M
      arm64: topology: Implement basic CPU topology support · f6e763b9
      Mark Brown 提交于
      Add basic CPU topology support to arm64, based on the existing pre-v8
      code and some work done by Mark Hambleton.  This patch does not
      implement any topology discovery support since that should be based on
      information from firmware, it merely implements the scaffolding for
      integration of topology support in the architecture.
      
      No locking of the topology data is done since it is only modified during
      CPU bringup with external serialisation from the SMP code.
      
      The goal is to separate the architecture hookup for providing topology
      information from the DT parsing in order to ease review and avoid
      blocking the architecture code (which will be built on by other work)
      with the DT code review by providing something simple and basic.
      
      Following patches will implement support for interpreting topology
      information from MPIDR and for parsing the DT topology bindings for ARM,
      similar patches will be needed for ACPI.
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      [catalin.marinas@arm.com: removed CONFIG_CPU_TOPOLOGY, always on if SMP]
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f6e763b9
  11. 01 3月, 2014 1 次提交
  12. 28 2月, 2014 1 次提交
  13. 27 2月, 2014 1 次提交
  14. 26 2月, 2014 1 次提交
  15. 08 2月, 2014 1 次提交
    • M
      arm64: defconfig: Expand default enabled features · 55834a77
      Mark Rutland 提交于
      FPGA implementations of the Cortex-A57 and Cortex-A53 are now available
      in the form of the SMM-A57 and SMM-A53 Soft Macrocell Models (SMMs) for
      Versatile Express. As these attach to a Motherboard Express V2M-P1 it
      would be useful to have support for some V2M-P1 peripherals enabled by
      default.
      
      Additionally a couple of of features have been introduced since the last
      defconfig update (CMA, jump labels) that would be good to have enabled
      by default to ensure they are build and boot tested.
      
      This patch updates the arm64 defconfig to enable support for these
      devices and features. The arm64 Kconfig is modified to select
      HAVE_PATA_PLATFORM, which is required to enable support for the
      CompactFlash controller on the V2M-P1.
      
      A few options which don't need to appear in defconfig are trimmed:
      
      * BLK_DEV - selected by default
      * EXPERIMENTAL - otherwise gone from the kernel
      * MII - selected by drivers which require it
      * USB_SUPPORT - selected by default
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      55834a77
  16. 08 1月, 2014 1 次提交
  17. 20 12月, 2013 4 次提交
  18. 17 12月, 2013 3 次提交
  19. 07 12月, 2013 1 次提交
  20. 15 11月, 2013 1 次提交
  21. 06 11月, 2013 1 次提交
  22. 25 10月, 2013 2 次提交
  23. 24 10月, 2013 1 次提交
  24. 10 10月, 2013 2 次提交
    • S
      arch_timer: Move to generic sched_clock framework · 65cd4f6c
      Stephen Boyd 提交于
      Register with the generic sched_clock framework now that it
      supports 64 bits. This fixes two problems with the current
      sched_clock support for machines using the architected timers.
      First off, we don't subtract the start value from subsequent
      sched_clock calls so we can potentially start off with
      sched_clock returning gigantic numbers. Second, there is no
      support for suspend/resume handling so problems such as discussed
      in 6a4dae5e (ARM: 7565/1: sched: stop sched_clock() during
      suspend, 2012-10-23) can happen without this patch. Finally, it
      allows us to move the sched_clock setup into drivers clocksource
      out of the arch ports.
      
      Cc: Christopher Covington <cov@codeaurora.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      65cd4f6c
    • S
      xen/arm,arm64: enable SWIOTLB_XEN · 83862ccf
      Stefano Stabellini 提交于
      Xen on arm and arm64 needs SWIOTLB_XEN: when running on Xen we need to
      program the hardware with mfns rather than pfns for dma addresses.
      Remove SWIOTLB_XEN dependency on X86 and PCI and make XEN select
      SWIOTLB_XEN on arm and arm64.
      
      At the moment always rely on swiotlb-xen, but when Xen starts supporting
      hardware IOMMUs we'll be able to avoid it conditionally on the presence
      of an IOMMU on the platform.
      
      Implement xen_create_contiguous_region on arm and arm64: for the moment
      we assume that dom0 has been mapped 1:1 (physical addresses == machine
      addresses) therefore we don't need to call XENMEM_exchange. Simply
      return the physical address as dma address.
      
      Initialize the xen-swiotlb from xen_early_init (before the native
      dma_ops are initialized), set xen_dma_ops to &xen_swiotlb_dma_ops.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      
      
      Changes in v8:
      - assume dom0 is mapped 1:1, no need to call XENMEM_exchange.
      
      Changes in v7:
      - call __set_phys_to_machine_multi from xen_create_contiguous_region and
      xen_destroy_contiguous_region to update the P2M;
      - don't call XENMEM_unpin, it has been removed;
      - call XENMEM_exchange instead of XENMEM_exchange_and_pin;
      - set nr_exchanged to 0 before calling the hypercall.
      
      Changes in v6:
      - introduce and export xen_dma_ops;
      - call xen_mm_init from as arch_initcall.
      
      Changes in v4:
      - remove redefinition of DMA_ERROR_CODE;
      - update the code to use XENMEM_exchange_and_pin and XENMEM_unpin;
      - add a note about hardware IOMMU in the commit message.
      
      Changes in v3:
      - code style changes;
      - warn on XENMEM_put_dma_buf failures.
      83862ccf
  25. 13 9月, 2013 1 次提交
  26. 20 8月, 2013 1 次提交
  27. 04 7月, 2013 1 次提交
  28. 21 6月, 2013 1 次提交
  29. 14 6月, 2013 1 次提交