1. 12 May, 2009 1 commit
    • Chris Zankel's avatar
      xtensa: Fix linker script to include .literal sections · 78f3cdfa
      Chris Zankel authored
      Fix resembles implementation from Marc Gauthier and Piet Denaly:
      In the Xtensa architecture, assembly generates literals which must always
      precede the code (the L32R instruction that loads them only uses negative
      PC-relative offsets).  For any *.text section, literals are placed in a
      corresponding *.literal section.  The linker script (vmlinux.lds) must
      place these in the correct order.  It must also combine them, when the
      *.text section can be larger than L32R's 256 kB range.
      For example, this doesn't work:  *(.literal) *(.text) because L32R
      instructions at the end of .text can't reach the literals.
      The linker can solve this if they are combined in parentheses, like this:
             *(.literal .text)
      because it is now allowed mix literals in .text to bring them in range.
      None of this is done by standard vmlinux.lds.h macros such as TEXT_TEXT
      and INIT_TEXT.  To avoid replicating the logic of that header file, we
      instead post-process the generated linker script to convert *(xxx.text)
      to *(xxx.literal xxx.text) for the following text sections:
             .text .ref.text .*init.text .*exit.text .text.*
      using a sed script.  To do this we must override the default rule for
      vmlinux.lds (see scripts/Makefile.build and the top-level Makefile)
      to insert this extra step.
      Signed-off-by: default avatarMarc Gauthier <marc@tensilica.com>
      Signed-off-by: default avatarPete Delaney <piet@tensilica.com>
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
  2. 26 Apr, 2009 1 commit
  3. 03 Apr, 2009 1 commit
  4. 06 Nov, 2008 1 commit
  5. 13 Feb, 2008 2 commits
  6. 28 Jan, 2008 1 commit
  7. 19 Jul, 2007 1 commit
    • Fenghua Yu's avatar
      define new percpu interface for shared data · 5fb7dc37
      Fenghua Yu authored
      per cpu data section contains two types of data.  One set which is
      exclusively accessed by the local cpu and the other set which is per cpu,
      but also shared by remote cpus.  In the current kernel, these two sets are
      not clearely separated out.  This can potentially cause the same data
      cacheline shared between the two sets of data, which will result in
      unnecessary bouncing of the cacheline between cpus.
      One way to fix the problem is to cacheline align the remotely accessed per
      cpu data, both at the beginning and at the end.  Because of the padding at
      both ends, this will likely cause some memory wastage and also the
      interface to achieve this is not clean.
      This patch:
      Moves the remotely accessed per cpu data (which is currently marked
      as ____cacheline_aligned_in_smp) into a different section, where all the data
      elements are cacheline aligned. And as such, this differentiates the local
      only data and remotely accessed data cleanly.
      Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
      Acked-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  8. 17 Jul, 2007 1 commit
  9. 31 May, 2007 1 commit
    • Chris Zankel's avatar
      [XTENSA] clean-up header files · de4f6e5b
      Chris Zankel authored
      The header files in the asm-xtensa directory are not clean and
      'make headers_check' fails. This is a first patch to fix most of
      the header files. It removes unnecessary include statements and
      adds some that are required for building the kernel. The linker
      script required some updates or the linking stage would fail.
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
  10. 19 May, 2007 2 commits
  11. 02 May, 2007 1 commit
  12. 11 Feb, 2007 1 commit
  13. 10 Dec, 2006 2 commits
  14. 27 Oct, 2006 1 commit
  15. 30 Jun, 2006 1 commit
  16. 12 Jul, 2005 1 commit
  17. 24 Jun, 2005 1 commit