1. 24 6月, 2011 3 次提交
  2. 21 6月, 2011 3 次提交
  3. 17 6月, 2011 3 次提交
    • D
      ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols · 9a00318e
      Dave Martin 提交于
      The "Thumb bit" of a symbol is only really meaningful for function
      symbols (STT_FUNC).
      
      However, sometimes a branch is relocated against a non-function
      symbol; for example, PC-relative branches to anonymous assembler
      local symbols are typically fixed up against the start-of-section
      symbol, which is not a function symbol.  Some inline assembler
      generates references of this type, such as fixup code generated by
      macros in <asm/uaccess.h>.
      
      The existing relocation code for R_ARM_THM_CALL/R_ARM_THM_JUMP24
      interprets this case as an error, because the target symbol appears
      to be an ARM symbol; but this is really not the case, since the
      target symbol is just a base in these cases.  The addend defines
      the precise offset to the target location, but since the addend is
      encoded in a non-interworking Thumb branch instruction, there is no
      explicit Thumb bit in the addend.  Because these instructions never
      interwork, the implied Thumb bit in the addend is 1, and the
      destination is Thumb by definition.
      
      This patch removes the extraneous Thumb bit check for non-function
      symbols, enabling modules containing the affected relocation types
      to be loaded.  No modification to the actual relocation code is
      required, since this code does not take bit[0] of the
      location->destination offset into account in any case.
      
      Function symbols are always checked for interworking conflicts, as
      before.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9a00318e
    • L
      ARM: 6962/1: mach-h720x: fix build error · 343fda59
      Linus Walleij 提交于
      The h7201/h7202 machines did not build since they define
      ARM_DMA_ZONE_OFFSET but do not select ZONE_DMA. Fix it up by
      selecting ZONE_DMA in their Kconfig.
      
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      343fda59
    • M
      ARM: 6959/1: SMP build fix for entry-macro-multi.S · 2bc58a6f
      Magnus Damm 提交于
      The assembly code in entry-macro-multi.S does not build without
      the include asm/assembler.h in the case of CONFIG_SMP=y.
      
      Fixes the rather theoretical SMP build of mach-shmobile/entry-intc.c:
      
      arch/arm/include/asm/entry-macro-multi.S: Assembler messages:
      arch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_smp(test_for_ipi r0,r6,r5,lr)'
      arch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_up_b(9997f)'
      make[1]: *** [arch/arm/mach-shmobile/entry-intc.o] Error 1
      make: *** [arch/arm/mach-shmobile] Error 2
      make: *** Waiting for unfinished jobs....
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2bc58a6f
  4. 16 6月, 2011 1 次提交
  5. 15 6月, 2011 1 次提交
  6. 14 6月, 2011 4 次提交
  7. 12 6月, 2011 1 次提交
  8. 11 6月, 2011 3 次提交
  9. 10 6月, 2011 2 次提交
  10. 09 6月, 2011 6 次提交
  11. 08 6月, 2011 2 次提交
  12. 06 6月, 2011 7 次提交
    • M
      ARM: 6952/1: fix lockdep warning of "unannotated irqs-off" · 9fc2552a
      Ming Lei 提交于
      This patch fixes the lockdep warning of "unannotated irqs-off"[1].
      
      After entering __irq_usr, arm core will disable interrupt automatically,
      but __irq_usr does not annotate the irq disable, so lockdep may complain
      the warning if it has chance to check this in irq handler.
      
      This patch adds trace_hardirqs_off in __irq_usr before entering irq_handler
      to handle the irq, also calls ret_to_user_from_irq to avoid calling
      disable_irq again.
      
      This is also a fix for irq off tracer.
      
      [1], lockdep warning log of "unannotated irqs-off"
      
      [   13.804687] ------------[ cut here ]------------
      [   13.809570] WARNING: at kernel/lockdep.c:3335 check_flags+0x78/0x1d0()
      [   13.816467] Modules linked in:
      [   13.819732] Backtrace:
      [   13.822357] [<c01cb42c>] (dump_backtrace+0x0/0x100) from [<c06abb14>] (dump_stack+0x20/0x24)
      [   13.831268]  r6:c07d8c2c r5:00000d07 r4:00000000 r3:00000000
      [   13.837280] [<c06abaf4>] (dump_stack+0x0/0x24) from [<c01ffc04>] (warn_slowpath_common+0x5c/0x74)
      [   13.846649] [<c01ffba8>] (warn_slowpath_common+0x0/0x74) from [<c01ffc48>] (warn_slowpath_null+0x2c/0x34)
      [   13.856781]  r8:00000000 r7:00000000 r6:c18b8194 r5:60000093 r4:ef182000
      [   13.863708] r3:00000009
      [   13.866485] [<c01ffc1c>] (warn_slowpath_null+0x0/0x34) from [<c0237d84>] (check_flags+0x78/0x1d0)
      [   13.875823] [<c0237d0c>] (check_flags+0x0/0x1d0) from [<c023afc8>] (lock_acquire+0x4c/0x150)
      [   13.884704] [<c023af7c>] (lock_acquire+0x0/0x150) from [<c06af638>] (_raw_spin_lock+0x4c/0x84)
      [   13.893798] [<c06af5ec>] (_raw_spin_lock+0x0/0x84) from [<c01f9a44>] (sched_ttwu_pending+0x58/0x8c)
      [   13.903320]  r6:ef92d040 r5:00000003 r4:c18b8180
      [   13.908233] [<c01f99ec>] (sched_ttwu_pending+0x0/0x8c) from [<c01f9a90>] (scheduler_ipi+0x18/0x1c)
      [   13.917663]  r6:ef183fb0 r5:00000003 r4:00000000 r3:00000001
      [   13.923645] [<c01f9a78>] (scheduler_ipi+0x0/0x1c) from [<c01bc458>] (do_IPI+0x9c/0xfc)
      [   13.932006] [<c01bc3bc>] (do_IPI+0x0/0xfc) from [<c06b0888>] (__irq_usr+0x48/0xe0)
      [   13.939971] Exception stack(0xef183fb0 to 0xef183ff8)
      [   13.945281] 3fa0:                                     ffffffc3 0001500c 00000001 0001500c
      [   13.953948] 3fc0: 00000050 400b45f0 400d9000 00000000 00000001 400d9600 6474e552 bea05b3c
      [   13.962585] 3fe0: 400d96c0 bea059c0 400b6574 400b65d8 20000010 ffffffff
      [   13.969573]  r6:00000403 r5:fa240100 r4:ffffffff r3:20000010
      [   13.975585] ---[ end trace efc4896ab0fb62cb ]---
      [   13.980468] possible reason: unannotated irqs-off.
      [   13.985534] irq event stamp: 1610
      [   13.989044] hardirqs last  enabled at (1610): [<c01c703c>] no_work_pending+0x8/0x2c
      [   13.997131] hardirqs last disabled at (1609): [<c01c7024>] ret_slow_syscall+0xc/0x1c
      [   14.005371] softirqs last  enabled at (0): [<c01fe5e4>] copy_process+0x2cc/0xa24
      [   14.013183] softirqs last disabled at (0): [<  (null)>]   (null)
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9fc2552a
    • R
      ARM: 6951/1: include .bss in memory layout information · 45f6d7e0
      Rabin Vincent 提交于
      The "Virtual memory kernel layout" message at startup already prints
      .text and .data.  Print .bss too.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      45f6d7e0
    • B
      ARM: 6948/1: Fix .size directives for __arm{7,9}tdmi_proc_info · 9a819d8a
      Ben Hutchings 提交于
      gas used to accept (and ignore?) .size directives which referred to
      undefined symbols, as these do.  In binutils 2.21 these are treated
      as fatal errors.
      
      The issue in proc-arm7tdmi.S was also fixed independently by Peter
      Chubb.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9a819d8a
    • L
      ARM: 6947/2: mach-u300: fix compilation error in timer · 9425032b
      Linus Walleij 提交于
      The introduction of the mmio timer accidentally referenced the
      old clocksource struct which does not exist anymore. Fix this by
      using a simple string instead.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9425032b
    • R
      ARM: 6946/1: vexpress: move v2m clock init to init_early · 2fdf9993
      Rob Herring 提交于
      Commit 7ff550de breaks vexpress booting. The
      v2m clock table needs to be setup in init_early before the timer
      initialization occurs.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2fdf9993
    • F
      ARM: mx51/sdma: Check the chip revision in run-time · 5f85e931
      Fabio Estevam 提交于
      Check the MX51 chip revision in run-time so that the correct SDMA firmware can
      be loaded.
      
      While at it also remove the silicon revision from the sdma_script_start_addrs
      structure name for MX51. All the MX51 revisions share the same SDMA start addresses.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      5f85e931
    • W
      arm: mxs: include asm/processor.h for cpu_relax() · ad377c63
      Wolfram Sang 提交于
      I get this build error as of today:
      
      arch/arm/mach-mxs/ocotp.c: In function 'mxs_get_ocotp':
      arch/arm/mach-mxs/ocotp.c:54: error: implicit declaration of function 'cpu_relax'
      make[2]: *** [arch/arm/mach-mxs/ocotp.o] Error 1
      
      Looks like it has been indirectly included before which broke now.
      Include it directly.
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      Cc: Shawn Guo <shawn.guo@freescale.com>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      ad377c63
  13. 05 6月, 2011 1 次提交
  14. 04 6月, 2011 3 次提交