1. 04 2月, 2013 3 次提交
  2. 20 12月, 2012 1 次提交
  3. 10 11月, 2012 1 次提交
  4. 17 10月, 2012 2 次提交
  5. 15 10月, 2012 2 次提交
  6. 09 10月, 2012 5 次提交
  7. 28 9月, 2012 1 次提交
    • D
      Make most arch asm/module.h files use asm-generic/module.h · 786d35d4
      David Howells 提交于
      Use the mapping of Elf_[SPE]hdr, Elf_Addr, Elf_Sym, Elf_Dyn, Elf_Rel/Rela,
      ELF_R_TYPE() and ELF_R_SYM() to either the 32-bit version or the 64-bit version
      into asm-generic/module.h for all arches bar MIPS.
      
      Also, use the generic definition mod_arch_specific where possible.
      
      To this end, I've defined three new config bools:
      
       (*) HAVE_MOD_ARCH_SPECIFIC
      
           Arches define this if they don't want to use the empty generic
           mod_arch_specific struct.
      
       (*) MODULES_USE_ELF_RELA
      
           Arches define this if their modules can contain RELA records.  This causes
           the Elf_Rela mapping to be emitted and allows apply_relocate_add() to be
           defined by the arch rather than have the core emit an error message.
      
       (*) MODULES_USE_ELF_REL
      
           Arches define this if their modules can contain REL records.  This causes
           the Elf_Rel mapping to be emitted and allows apply_relocate() to be
           defined by the arch rather than have the core emit an error message.
      
      Note that it is possible to allow both REL and RELA records: m68k and mips are
      two arches that do this.
      
      With this, some arch asm/module.h files can be deleted entirely and replaced
      with a generic-y marker in the arch Kbuild file.
      
      Additionally, I have removed the bits from m32r and score that handle the
      unsupported type of relocation record as that's now handled centrally.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      786d35d4
  8. 31 7月, 2012 1 次提交
  9. 28 5月, 2012 1 次提交
  10. 27 5月, 2012 1 次提交
  11. 25 5月, 2012 1 次提交
  12. 23 5月, 2012 1 次提交
  13. 22 5月, 2012 2 次提交
  14. 21 5月, 2012 1 次提交
  15. 12 5月, 2012 1 次提交
  16. 11 5月, 2012 1 次提交
    • D
      KEYS: Use the compat keyctl() syscall wrapper on Sparc64 for Sparc32 compat · 45de6767
      David Howells 提交于
      Use the 32-bit compat keyctl() syscall wrapper on Sparc64 for Sparc32 binary
      compatibility.
      
      Without this, keyctl(KEYCTL_INSTANTIATE_IOV) is liable to malfunction as it
      uses an iovec array read from userspace - though the kernel should survive this
      as it checks pointers and sizes anyway.
      
      I think all the other keyctl() function should just work, provided (a) the top
      32-bits of each 64-bit argument register are cleared prior to invoking the
      syscall routine, and the 32-bit address space is right at the 0-end of the
      64-bit address space.  Most of the arguments are 32-bit anyway, and so for
      those clearing is not required.
      
      Signed-off-by: David Howells <dhowells@redhat.com
      cc: "David S. Miller" <davem@davemloft.net>
      cc: sparclinux@vger.kernel.org
      cc: stable@vger.kernel.org
      45de6767
  17. 08 5月, 2012 1 次提交
  18. 05 5月, 2012 2 次提交
  19. 27 4月, 2012 1 次提交
  20. 26 4月, 2012 1 次提交
  21. 17 4月, 2012 1 次提交
  22. 16 4月, 2012 1 次提交
    • T
      sparc32: generic clockevent support · 62f08283
      Tkhai Kirill 提交于
      The kernel uses l14 timers as clockevents. l10 timer is used
      as clocksource if platform master_l10_counter isn't constantly
      zero. The clocksource is continuous, so it's possible to use
      high resolution timers. l10 timer is also used as clockevent
      on UP configurations.
      
      This realization is for sun4m, sun4d, sun4c, microsparc-IIep
      and LEON platforms. The appropriate LEON changes was made by
      Konrad Eisele.
      
      In case of sun4m's oneshot mode, profile irq is zeroed in
      smp4m_percpu_timer_interrupt(). It is maybe
      needless (double, triple etc overflow does nothing).
      
      sun4d is able to have oneshot mode too, but I haven't
      any way to test it. So code of its percpu timer handler
      is made as much equal to the current code as possible.
      
      The patch is tested on sun4m box in SMP mode by me,
      and tested by Konrad on leon in up mode (leon smp
      is broken atm - due to other reasons).
      Signed-off-by: NTkhai Kirill <tkhai@yandex.ru>
      Tested-by: Konrad Eisele <konrad@gaisler.com> [leon up]
      [sam: revised patch to provide generic support for leon]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62f08283
  23. 24 3月, 2012 1 次提交
  24. 16 3月, 2012 1 次提交
    • C
      [PATCH v3] ipc: provide generic compat versions of IPC syscalls · 48b25c43
      Chris Metcalf 提交于
      When using the "compat" APIs, architectures will generally want to
      be able to make direct syscalls to msgsnd(), shmctl(), etc., and
      in the kernel we would want them to be handled directly by
      compat_sys_xxx() functions, as is true for other compat syscalls.
      
      However, for historical reasons, several of the existing compat IPC
      syscalls do not do this.  semctl() expects a pointer to the fourth
      argument, instead of the fourth argument itself.  msgsnd(), msgrcv()
      and shmat() expect arguments in different order.
      
      This change adds an ARCH_WANT_OLD_COMPAT_IPC config option that can be
      set to preserve this behavior for ports that use it (x86, sparc, powerpc,
      s390, and mips).  No actual semantics are changed for those architectures,
      and there is only a minimal amount of code refactoring in ipc/compat.c.
      
      Newer architectures like tile (and perhaps future architectures such
      as arm64 and unicore64) should not select this option, and thus can
      avoid having any IPC-specific code at all in their architecture-specific
      compat layer.  In the same vein, if this option is not selected, IPC_64
      mode is assumed, since that's what the <asm-generic> headers expect.
      
      The workaround code in "tile" for msgsnd() and msgrcv() is removed
      with this change; it also fixes the bug that shmat() and semctl() were
      not being properly handled.
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      48b25c43
  25. 02 2月, 2012 1 次提交
  26. 30 12月, 2011 1 次提交
    • S
      sparc32: enable different preemptions models · b2a1fa30
      Sam Ravnborg 提交于
      While chasing following warning from kconfig I noticed that the
      kconfig preemption model symbols were all dependent on sparc64.
      
      warning: (PREEMPT && DEBUG_ATOMIC_SLEEP) selects PREEMPT_COUNT which has unmet direct dependencies (SPARC64)
      
      >From arch/sparc/Kconfig:
      
              if SPARC64
              source "kernel/Kconfig.preempt"
              endif
      
      But looking a bit closer I see nothing obvious why
      sparc32 should not support the various preemption models.
      Drop the "if SPARC64" conditional to enable selection of
      preemption model on sparc32 too.
      
      Build-tested - but not run-time tested all three models.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b2a1fa30
  27. 28 12月, 2011 1 次提交
    • S
      sparc32: support atomic64_t · aea1181b
      Sam Ravnborg 提交于
      There is no-one that really require atomic64_t support on sparc32.
      But several drivers fails to build without proper atomic64 support.
      And for an allyesconfig build for sparc32 this is annoying.
      
      Include the generic atomic64_t support for sparc32.
      This has a text footprint cost:
      
      $size vmlinux (before atomic64_t support)
         text    data     bss     dec     hex filename
      3578860  134260  108781 3821901  3a514d vmlinux
      
      $size vmlinux (after atomic64_t support)
         text    data     bss     dec     hex filename
      3579892  130684  108781 3819357  3a475d vmlinux
      
      text increase (3579892 - 3578860) = 1032 bytes
      
      data decreases - but I fail to explain why!
      I have rebuild twice to check my numbers.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aea1181b
  28. 09 12月, 2011 2 次提交
    • T
      memblock: Kill early_node_map[] · 0ee332c1
      Tejun Heo 提交于
      Now all ARCH_POPULATES_NODE_MAP archs select HAVE_MEBLOCK_NODE_MAP -
      there's no user of early_node_map[] left.  Kill early_node_map[] and
      replace ARCH_POPULATES_NODE_MAP with HAVE_MEMBLOCK_NODE_MAP.  Also,
      relocate for_each_mem_pfn_range() and helper from mm.h to memblock.h
      as page_alloc.c would no longer host an alternative implementation.
      
      This change is ultimately one to one mapping and shouldn't cause any
      observable difference; however, after the recent changes, there are
      some functions which now would fit memblock.c better than page_alloc.c
      and dependency on HAVE_MEMBLOCK_NODE_MAP instead of HAVE_MEMBLOCK
      doesn't make much sense on some of them.  Further cleanups for
      functions inside HAVE_MEMBLOCK_NODE_MAP in mm.h would be nice.
      
      -v2: Fix compile bug introduced by mis-spelling
       CONFIG_HAVE_MEMBLOCK_NODE_MAP to CONFIG_MEMBLOCK_HAVE_NODE_MAP in
       mmzone.h.  Reported by Stephen Rothwell.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      0ee332c1
    • T
      sparc: Use HAVE_MEMBLOCK_NODE_MAP · 2a4814df
      Tejun Heo 提交于
      sparc doesn't access early_node_map[] directly and enabling
      HAVE_MEMBLOCK_NODE_MAP is trivial - replacing add_active_range() calls
      with memblock_set_node() and selecting HAVE_MEMBLOCK_NODE_MAP is
      enough.
      
      -v2: Use select in Kconfig instead as suggested by Sam Ravnborg.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: N"David S. Miller" <davem@davemloft.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: sparclinux@vger.kernel.org
      2a4814df
  29. 04 12月, 2011 1 次提交