1. 24 Nov, 2011 1 commit
  2. 01 Sep, 2011 1 commit
  3. 09 Aug, 2011 1 commit
    • Tony Luck's avatar
      [IA64] fix "allnoconfig" build · 88ff9877
      Tony Luck authored
      Link errors:
      arch/ia64/kernel/built-in.o: In function `arch_setup_dmar_msi':
      (.text+0x35972): undefined reference to `dmar_msi_write'
      ... and more ...
      because allnoconfig has CONFIG_DMAR=y due to the "select DMAR"
      in arch/ia64/Kconfig under config IA64_GENERIC.
      Drop that select, but add CONFIG_DMAR=y to generic_defconfig so
      we keep testbuilding the DMAR code.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
  4. 03 Aug, 2011 1 commit
  5. 21 Jul, 2011 1 commit
  6. 21 Jun, 2011 1 commit
    • Ohad Ben-Cohen's avatar
      x86/ia64: intel-iommu: move to drivers/iommu/ · 166e9278
      Ohad Ben-Cohen authored
      This should ease finding similarities with different platforms,
      with the intention of solving problems once in a generic framework
      which everyone can use.
      Note: to move intel-iommu.c, the declaration of pci_find_upstream_pcie_bridge()
      has to move from drivers/pci/pci.h to include/linux/pci.h. This is handled
      in this patch, too.
      As suggested, also drop DMAR's EXPERIMENTAL tag while we're at it.
      Compile-tested on x86_64.
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
  7. 14 Jun, 2011 1 commit
  8. 01 Jun, 2011 1 commit
  9. 26 May, 2011 1 commit
  10. 31 Mar, 2011 1 commit
  11. 29 Mar, 2011 1 commit
  12. 21 Jan, 2011 2 commits
  13. 01 Oct, 2010 1 commit
  14. 27 Sep, 2010 1 commit
    • Tony Luck's avatar
      [IA64] Stop using the deprecated __do_IRQ() code path · 5d4bff94
      Tony Luck authored
      Thomas Gleixner <tglx@linutronix.de> wrote:
      >__do_IRQ() has been deprecated after a two years migration phase in
      >commit 0e57aa11
      . Since then another 18 months have gone by ...
      Mostly trivial stuff for this. The only tricky part was realizing
      that the new handler_*_irq() paths do not use desc->chip->end(irq).
      Not a problem for the edge case as the ia64 iosapic routine for
      that was nop(). But the "level" case handled interrupt migration
      there.  Just use a slightly modified version of the "end" routine
      as "unmask" for the level triggered case.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
  15. 23 Sep, 2010 1 commit
  16. 19 Sep, 2010 1 commit
  17. 09 Aug, 2010 1 commit
  18. 27 Jul, 2010 1 commit
  19. 27 May, 2010 3 commits
  20. 18 May, 2010 1 commit
  21. 12 Mar, 2010 1 commit
  22. 08 Feb, 2010 1 commit
    • Tony Luck's avatar
      [IA64] Remove COMPAT_IA32 support · 32974ad4
      Tony Luck authored
      This has been broken since May 2008 when Al Viro killed altroot support.
      Since nobody has complained, it would appear that there are no users of
      this code (A plausible theory since the main OSVs that support ia64 prefer
      to use the IA32-EL software emulation).
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
  23. 01 Oct, 2009 1 commit
    • Tejun Heo's avatar
      ia64: convert to dynamic percpu allocator · 52594762
      Tejun Heo authored
      Unlike other archs, ia64 reserves space for percpu areas during early
      memory initialization.  These areas occupy a contiguous region indexed
      by cpu number on contiguous memory model or are grouped by node on
      discontiguous memory model.
      As allocation and initialization are done by the arch code, all that
      setup_per_cpu_areas() needs to do is communicating the determined
      layout to the percpu allocator.  This patch implements
      setup_per_cpu_areas() for both contig and discontig memory models and
      Please note that for contig model, the allocation itself is modified
      only to allocate for possible cpus instead of NR_CPUS.  As dynamic
      percpu allocator can handle non-direct mapping, there's no reason to
      allocate memory for cpus which aren't possible.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarTony Luck <tony.luck@intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: linux-ia64 <linux-ia64@vger.kernel.org>
  24. 25 Sep, 2009 1 commit
    • Tony Luck's avatar
      [IA64] implement ticket locks for Itanium · 2c86963b
      Tony Luck authored
      Back in January 2008 Nick Piggin implemented "ticket" spinlocks
      for X86 (See commit 314cdbef
      IA64 implementation has a couple of differences because of the
      available atomic operations ... e.g. we have no fetchadd2 instruction
      that operates on a 16-bit quantity so we make ticket locks use
      a 32-bit word for each of the current ticket and now-serving values.
      Performance on uncontended locks is about 8% worse than the previous
      implementation, but this seems a good trade for determinism in the
      contended case. Performance impact on macro-level benchmarks is in
      the noise.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
  25. 23 Sep, 2009 1 commit
  26. 26 Aug, 2009 1 commit
  27. 24 Jun, 2009 1 commit
    • Tejun Heo's avatar
      percpu: use dynamic percpu allocator as the default percpu allocator · e74e3962
      Tejun Heo authored
      This patch makes most !CONFIG_HAVE_SETUP_PER_CPU_AREA archs use
      dynamic percpu allocator.  The first chunk is allocated using
      embedding helper and 8k is reserved for modules.  This ensures that
      the new allocator behaves almost identically to the original allocator
      as long as static percpu variables are concerned, so it shouldn't
      introduce much breakage.
      s390 and alpha use custom SHIFT_PERCPU_PTR() to work around addressing
      range limit the addressing model imposes.  Unfortunately, this breaks
      if the address is specified using a variable, so for now, the two
      archs aren't converted.
      The following architectures are affected by this change.
      * sh
      * arm
      * cris
      * mips
      * sparc(32)
      * blackfin
      * avr32
      * parisc (broken, under investigation)
      * m32r
      * powerpc(32)
      As this change makes the dynamic allocator the default one,
      CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is replaced with its invert -
      CONFIG_HAVE_LEGACY_PER_CPU_AREA, which is added to yet-to-be converted
      archs.  These archs implement their own setup_per_cpu_areas() and the
      conversion is not trivial.
      * powerpc(64)
      * sparc(64)
      * ia64
      * alpha
      * s390
      Boot and batch alloc/free tests on x86_32 with debug code (x86_32
      doesn't use default first chunk initialization).  Compile tested on
      sparc(32), powerpc(32), arm and alpha.
      Kyle McMartin reported that this change breaks parisc.  The problem is
      still under investigation and he is okay with pushing this patch
      forward and fixing parisc later.
      [ Impact: use dynamic allocator for most archs w/o custom percpu setup ]
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Reviewed-by: default avatarChristoph Lameter <cl@linux.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Bryan Wu <cooloney@kernel.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
  28. 18 Jun, 2009 1 commit
  29. 25 Feb, 2009 1 commit
  30. 19 Feb, 2009 2 commits
  31. 15 Jan, 2009 1 commit
    • Tony Luck's avatar
      [IA64] Turn on CONFIG_HAVE_UNSTABLE_CLOCK · 0773a6cf
      Tony Luck authored
      sched_clock() on ia64 is based on ar.itc, so is never
      completely synchronized between cpus. On some platforms
      (e.g. certain models of SGI Altix) it may be running at
      radically different frequencies.
      Based on a patch from Dimitri Sivanich which set this
      just for SN2 && GENERIC kernels ... it is needed for
      all ia64 machines.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
  32. 14 Jan, 2009 2 commits
    • Shaohua Li's avatar
      ftrace, ia64: IA64 dynamic ftrace support · a14a07b8
      Shaohua Li authored
      IA64 dynamic ftrace support.
      The original _mcount stub for each function is like:
      	alloc r40=ar.pfs,12,8,0
      	mov r43=r0;;
      	mov r42=b0
      	mov r41=r1
      	nop.i 0x0
      	br.call.sptk.many b0 = _mcount;;
      The patch convert it to below for nop:
      	[MII] nop.m 0x0
      	mov r3=ip
      	nop.i 0x0
      	[MLX] nop.m 0x0
      	nop.x 0x0;;
      This isn't completely nop, as there is one instuction 'mov r3=ip', but
      it should be light and harmless for code follow it.
      And below is for call
      	[MII] nop.m 0x0
      	mov r3=ip
      	nop.i 0x0
      	[MLX] nop.m 0x0
      	brl.many .;;
      In this way, only one instruction is changed to convert code between nop
      and call. This should meet dyn-ftrace's requirement.
      But this requires CPU support brl instruction, so dyn-ftrace isn't
      supported for old Itanium system. Assume there are quite few such old
      system running.
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    • Shaohua Li's avatar
      ftrace, ia64: IA64 static ftrace support · d3e75ff1
      Shaohua Li authored
      IA64 ftrace suppport. In IA64, below code will be added in each function
      if -pg is enabled.
      alloc r40=ar.pfs,12,8,0
      mov r43=r0;;
      mov r42=b0
      mov r41=r1
      nop.i 0x0
      br.call.sptk.many b0 = _mcount;;
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
  33. 03 Jan, 2009 1 commit
  34. 11 Nov, 2008 1 commit
  35. 06 Nov, 2008 1 commit