1. 14 11月, 2012 3 次提交
  2. 19 10月, 2012 1 次提交
  3. 16 10月, 2012 1 次提交
  4. 09 10月, 2012 1 次提交
  5. 06 10月, 2012 1 次提交
    • J
      cross-arch: don't corrupt personality flags upon exec() · 16f3e95b
      Jiri Kosina 提交于
      Historically, the top three bytes of personality have been used for
      things such as ADDR_NO_RANDOMIZE, which made sense only for specific
      architectures.
      
      We now however have a flag there that is general no matter the
      architecture (UNAME26); generally we have to be careful to preserve the
      personality flags across exec().
      
      This patch tries to fix all architectures that forcefully overwrite
      personality flags during exec() (ppc32 and s390 have been fixed recently
      by commits f9783ec8 ("[S390] Do not clobber personality flags on
      exec") and 59e4c3a2 ("powerpc/32: Don't clobber personality flags on
      exec") in a similar way already).
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Zankel <chris@zankel.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      16f3e95b
  6. 04 10月, 2012 1 次提交
  7. 03 10月, 2012 1 次提交
  8. 01 10月, 2012 3 次提交
    • A
      m68k: switch to generic sys_execve()/kernel_execve() · d878d6da
      Al Viro 提交于
      The tricky part here is that task_pt_regs() on m68k works *only* for
      process inside do_signal().  However, we need something much simpler -
      pt_regs of a process inside do_signal() may be at different offsets
      from the stack bottom, depending on the way we'd entered the kernel,
      but for a task inside sys_execve() it *is* at constant offset.
      Moreover, for a kernel thread about to become a userland process the
      same location is also fine - setting sp to that will leave the kernel
      stack pointer at the very bottom of the kernel stack when we finally
      switch to userland.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d878d6da
    • A
      m68k: split ret_from_fork(), simplify kernel_thread() · 533e6903
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      533e6903
    • G
      m68k: always set stack frame format for ColdFire on thread start · 0973c687
      Greg Ungerer 提交于
      The stack frame "format" field needs to be explicitly set on thread creation
      on ColdFire. For a normal long word aligned user stack pointer the frame
      format is 0x4.
      
      We were doing this for non-MMU ColdFire, but not for the case with MMU enabled.
      So fix it so we always do it if targeting ColdFire.
      
      The old code happend to rely on the stack frame format being inhereted from
      the process calling exec. Furture changes means that may not always work,
      so we really do want to set it explicitly.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      0973c687
  9. 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
  10. 27 9月, 2012 25 次提交
    • G
      m68knommu: fix inconsistent formating in ColdFire 5407 definitions · a2551728
      Greg Ungerer 提交于
      Fix tab broken address defines to be consistent with others in this file.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      a2551728
    • G
      m68knommu: fix inconsistent formating in ColdFire 5307 definitions · cbf13821
      Greg Ungerer 提交于
      Fix tab broken address defines to be consistent with others in this file.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      cbf13821
    • G
      m68knommu: fix inconsistent formating in ColdFire 527x definitions · 39dc5b7f
      Greg Ungerer 提交于
      Fix tab broken address defines to be consistent with others in this file.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      39dc5b7f
    • G
      m68knommu: fix inconsistent formating in ColdFire 5272 definitions · 41e5be6a
      Greg Ungerer 提交于
      Fix tab broken defines to be consistent with others in this file.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      41e5be6a
    • G
      m68knommu: fix inconsistent formating in ColdFire 523x definitions · 4617134e
      Greg Ungerer 提交于
      Fix tab broken address defines to be consistent with others in this file.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      4617134e
    • G
      m68knommu: clean up ColdFire 54xx General Timer definitions · 944c3d81
      Greg Ungerer 提交于
      Convert the ColdFire 54xx CPU General Timer register address definitions to
      include the MCF_MBAR peripheral region offset. This makes them consistent
      with all other 54xx address register definitions (in m54xxsim.h).
      
      The goal is to reduce different definitions used (some including offsets and
      others not) causing bugs when used incorrectly.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      944c3d81
    • G
      m68knommu: clean up Pin Assignment definitions for the 54xx ColdFire CPU · 632306f2
      Greg Ungerer 提交于
      The Pin Assignment register definitions for the ColdFire 54xx CPU family are
      inconsistently named and defined compared to the other ColdFire part
      definitions. Rename them with the same prefix as used on other parts,
      MCFGPIO_PAR_, and make their definitions include the MCF_MBAR periphperal
      region offset.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      632306f2
    • G
      m68knommu: fix multi-function pin setup for FEC module on ColdFire 523x · 98d9696b
      Greg Ungerer 提交于
      The multi-function pin setup code for the FEC ethernet module is using just
      plain wrong. Looks like it was cut-and-pasted from other init code. It has
      hard coded register addresses that are incorrect for the 523x, and it is
      manipulating bits that don't make sense.
      
      Add proper register definitions for the Pin Assignment registers of the 532x,
      and then use them to fix the setup code for the FEC hardware module.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      98d9696b
    • G
      m68knommu: move ColdFire slice timer address defiens to 54xx header · f2f41c68
      Greg Ungerer 提交于
      Move the base address defines of the ColdFire 54xx CPU slice timers into the
      54xx specific header (m54xxsim.h). They are CPU specific, and belong with the
      CPU specific defines. Also make them relative to the MBAR peripheral region,
      making the define the absolute address.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      f2f41c68
    • G
      m68knommu: use read/write IO access functions in ColdFire m532x setup code · 6d8a1393
      Greg Ungerer 提交于
      Get rid of the use of local IO access macros and switch to using the standard
      read*/write* family of access functions for the ColdFire m532x setup code.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      6d8a1393
    • G
      m68knommu: modify ColdFire 532x GPIO register definitions to be consistent · e4c2b9be
      Greg Ungerer 提交于
      The ColdFire 532x CPU register definitions for the multi-function setup
      pins are inconsistently defined compared with other ColdFire parts. Modify
      the register defintions to be just the addresses, not pointers. This also
      fixes the erroneous use in one case of using these values in the UART setup
      code for the 532x.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      e4c2b9be
    • G
      m68knommu: remove a lot of unsed definitions for 532x ColdFire · 23bcdacd
      Greg Ungerer 提交于
      There are a lot of unused and uneccessary definitions in the header to
      support the ColdFire 532x CPU family. Remove the junk.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      23bcdacd
    • G
      m68knommu: remove address offsets relative to IPSBAR for ColdFire 527x · f821e349
      Greg Ungerer 提交于
      Remove the last address definitions relative to the IPSBAR peripheral region
      for the ColdFire 527x family. This involved cleaning up some magic numbers
      used in the code part, and making them proper register definitions in the 527x
      specific header.
      
      This is part of the process of cleaning up the ColdFire register definitions
      to make them consistently use absolute addresses for the primary registers.
      This will reduce the occasional bugs caused by inconsistent definition of
      the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      f821e349
    • G
      m68knommu: remove unused ColdFire 5282 register definitions · 8a415c4b
      Greg Ungerer 提交于
      There is a bunch of old unused and ugly register definitions in the ColdFire
      5282 header. Remove them.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      8a415c4b
    • G
      m68knommu: fix wrong register offsets used for ColdFire 5272 multi-function pins · 4fb62ede
      Greg Ungerer 提交于
      The registers used to configure and set the multifunction pins on the 5272
      ColdFire are defined as absolute addresses. So the use of them does not need
      to be offset relative to the peripheral region address.
      
      Fix two cases of incorrect usage of these addresses. Both affect UART
      initialization, one in the common UART pin setup code, the other in the
      NETtel board specific UART signal handling.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      4fb62ede
    • G
      m68knommu: make ColdFire 5249 MBAR2 register definitions absolute addresses · 041a89a4
      Greg Ungerer 提交于
      Make the ColdFire 5249 MBAR peripheral register definitions absolute
      addresses, instead of offsets into the region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      041a89a4
    • G
      m68knommu: make remaining ColdFire 5272 register definitions absolute addresses · d72a5abb
      Greg Ungerer 提交于
      Make the remaining definitions of the 5272 ColdFire registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      d72a5abb
    • G
      m68knommu: make ColdFire Park and Assignment register definitions absolute addresses · 35142b91
      Greg Ungerer 提交于
      Make all definitions of the ColdFire MPARK and IRQ Assignment registers
      absolute addresses. Currently some are relative to the MBAR peripheral
      region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      35142b91
    • G
      m68knommu: make ColdFire Chip Select register definitions absolute addresses · 1419ea3b
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Chip Select registers absolute addresses.
      Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      1419ea3b
    • G
      m68knommu: make ColdFire Interrupt Source register definitions absolute addresses · c986a3d5
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Interrupt Source registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      c986a3d5
    • G
      m68knommu: make ColdFire Pin Assignment register definitions absolute addresses · a45f56b2
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Pin Assignment registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      a45f56b2
    • G
      m68knommu: make ColdFire watchdog register definitions absolute addresses · 660b73e3
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Software watchdog registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      660b73e3
    • G
      m68knommu: make ColdFire SYPCR and RSR register definitions absolute addresses · e1e362dc
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Reset and System registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the abolsute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      e1e362dc
    • G
      m68knommu: make ColdFire IMR and IPR register definitions absolute addresses · 6a3a786d
      Greg Ungerer 提交于
      Make all definitions of the ColdFire Interrupt Mask and Pending registers
      absolute addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      6a3a786d
    • P
      m68knommu: use "r", not "i" constraint in cacheflush asm's · 300b9ff6
      Philippe De Muyter 提交于
      Let the compiler choose which register to use in the cache flushing
      asm statements, instead of imposing %d0.
      
      Additionally, fix two typo's.
      Signed-off-by: NPhilippe De Muyter <phdm@macqel.be>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      300b9ff6
  11. 20 9月, 2012 1 次提交
  12. 18 8月, 2012 1 次提交