1. 05 1月, 2012 2 次提交
  2. 06 12月, 2011 1 次提交
    • U
      ARM: 7187/1: fix unwinding for XIP kernels · de66a979
      Uwe Kleine-König 提交于
      The linker places the unwind tables in readonly sections. So when using
      an XIP kernel these are located in ROM and cannot be modified.
      For that reason the current approach to convert the relative offsets in
      the unwind index to absolute addresses early in the boot process doesn't
      work with XIP.
      
      The offsets in the unwind index section are signed 31 bit numbers and
      the structs are sorted by this offset. So it first has offsets between
      0x40000000 and 0x7fffffff (i.e. the negative offsets) and then offsets
      between 0x00000000 and 0x3fffffff. When seperating these two blocks the
      numbers are sorted even when interpreting the offsets as unsigned longs.
      
      So determine the first non-negative entry once and track that using the
      new origin pointer. The actual bisection can then use a plain unsigned
      long comparison. The only thing that makes the new bisection more
      complicated is that the offsets are relative to their position in the
      index section, so the key to search needs to be adapted accordingly in
      each step.
      
      Moreover several consts are added to catch future writes and rename the
      member "addr" of struct unwind_idx to "addr_offset" to better match the
      new semantic. (This has the additional benefit of breaking eventual
      users at compile time to make them aware of the change.)
      
      In my tests the new algorithm was a tad faster than the original and has
      the additional upside of not needing the initial conversion and so saves
      some boot time and it's possible to unwind even earlier.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: NNicolas Pitre <nico@fluxnic.net>
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      de66a979
  3. 01 12月, 2011 1 次提交
  4. 21 11月, 2011 1 次提交
  5. 18 11月, 2011 1 次提交
  6. 16 11月, 2011 1 次提交
  7. 12 11月, 2011 1 次提交
    • O
      ARM: 7156/1: l2x0: fix compile error on !CONFIG_USE_OF · e7c86c7b
      Olof Johansson 提交于
      fae2b89a (ARM: l2x0: add empty l2x0_of_init) adds a static inline
      function that returns -ENODEV, but at least on tegra cache-l2x0.h is
      included without errno.h being pulled in first, resulting in compile
      errors if OF isn't enabled:
      
      In file included from arch/arm/mach-tegra/common.c:26:
      arch/arm/include/asm/hardware/cache-l2x0.h: In function 'l2x0_of_init':
      arch/arm/include/asm/hardware/cache-l2x0.h:110: error: 'ENODEV' undeclared (first use in this function)
      arch/arm/include/asm/hardware/cache-l2x0.h:110: error: (Each undeclared identifier is reported only once
      arch/arm/include/asm/hardware/cache-l2x0.h:110: error: for each function it appears in.)
      
      Add errno.h to the include file to make it self-contained.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e7c86c7b
  8. 11 11月, 2011 2 次提交
  9. 10 11月, 2011 1 次提交
    • F
      ARM: 7155/1: arch.h: Declare 'pt_regs' locally · 1a1f2be2
      Fabio Estevam 提交于
      Fix the following warning when building imx_v4_v5_defconfig target:
      
        CC      arch/arm/mach-imx/mach-imx27ipcam.o
      In file included from arch/arm/mach-imx/mach-imx27ipcam.c:18:
      /home/fabio/linus/linux-2.6/arch/arm/include/asm/mach/arch.h:47: warning: 'struct pt_regs' declared inside parameter list
      /home/fabio/linus/linux-2.6/arch/arm/include/asm/mach/arch.h:47: warning: its scope is only this definition or declaration, which is probably not what you want
      arch/arm/mach-imx/mach-imx27ipcam.c:78: warning: initialization from incompatible pointer type
      
      Declare 'struct pt_regs' locally.
      
      Cc: Eric Miao <eric.miao@canonical.com>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1a1f2be2
  10. 31 10月, 2011 4 次提交
  11. 23 10月, 2011 3 次提交
  12. 17 10月, 2011 15 次提交
  13. 15 10月, 2011 1 次提交
    • S
      ARM: 7122/1: localtimer: add header linux/errno.h explicitly · bb1ac3ec
      Shawn Guo 提交于
      Per the text in  Documentation/SubmitChecklist as below, we should
      explicitly have header linux/errno.h in localtimer.h for ENXIO
      reference.
      
      1: If you use a facility then #include the file that defines/declares
         that facility.  Don't depend on other header files pulling in ones
         that you use.
      
      Otherwise, we may run into some compiling error like the following one,
      if any file includes localtimer.h without CONFIG_LOCAL_TIMERS defined.
      
        arch/arm/include/asm/localtimer.h: In function ‘local_timer_setup’:
        arch/arm/include/asm/localtimer.h:53:10: error: ‘ENXIO’ undeclared (first use in this function)
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      bb1ac3ec
  14. 14 10月, 2011 1 次提交
    • N
      ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H · 0cdc8b92
      Nicolas Pitre 提交于
      Given that we want the default to not have any <mach/memory.h> and given
      that there are now fewer cases where it is still provided than the cases
      where it is not at this point, this makes sense to invert the logic and
      just identify the exception cases.
      
      The word "need" instead of "have" was chosen to construct the config
      symbol so not to suggest that having a mach/memory.h file is actually
      a feature that one should aim for.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      0cdc8b92
  15. 08 10月, 2011 1 次提交
  16. 06 10月, 2011 3 次提交
  17. 02 10月, 2011 1 次提交