1. 20 10月, 2013 3 次提交
    • B
      ARM: fixup_pv_table bug when CPU_ENDIAN_BE8 · 2f9bf9be
      Ben Dooks 提交于
      The fixup_pv_table assumes that the instructions are in the same
      endian configuration as the data, but when the CPU is running in
      BE8 the instructions stay in little-endian format.
      
      Make sure if CONFIG_CPU_ENDIAN_BE8 is set that we do all the
      alterations to the instructions taking in to account the LDR/STR
      will be swapping the data endian-ness.
      
      Since the code is only modifying a byte, we avoid dual-swapping
      the data, and just change the bits we clear and ORR in (in the
      case where the code is not thumb2).
      
      For thumb2, we add the necessary rev16 instructions to ensure that
      the instructions are processed in the correct format, as it was
      easier than re-writing the code to contain a mask and shift.
      Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      Reviewed-by: NDave Martin <Dave.Martin@arm.com>
      Tested-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      2f9bf9be
    • B
      ARM: asm: Add ARM_BE8() assembly helper · 457c2403
      Ben Dooks 提交于
      Add ARM_BE8() helper to wrap any code conditional on being
      compile when CONFIG_ARM_ENDIAN_BE8 is selected and convert
      existing places where this is to use it.
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      457c2403
    • B
      ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN · d10d2d48
      Ben Dooks 提交于
      The Kconfig for arch/arm/mach-ixp4xx has a local definition
      of ARCH_SUPPORTS_BIG_ENDIAN which could be used elsewhere.
      This means that if IXP4xx is selected and this symbol is
      selected eleswhere then an warning is produced.
      
      Clean the following error up by making the symbol be
      selected by the main ARCH_IXP4XX definition and have a
      common definition in arch/arm/mm/Kconfig
      
      warning: (ARCH_xxx) selects ARCH_SUPPORTS_BIG_ENDIAN which has unmet direct dependencies (ARCH_IXP4XX)
      warning: (ARCH_xxx) selects ARCH_SUPPORTS_BIG_ENDIAN which has unmet direct dependencies (ARCH_IXP4XX)
      Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      d10d2d48
  2. 05 10月, 2013 1 次提交
  3. 03 10月, 2013 16 次提交
  4. 02 10月, 2013 2 次提交
    • Y
      MIPS: Fix forgotten preempt_enable() when CPU has inclusive pcaches · 5596b0b2
      Yoichi Yuasa 提交于
      [    1.904000] BUG: scheduling while atomic: swapper/1/0x00000002
      [    1.908000] Modules linked in:
      [    1.916000] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc2-lemote-los.git-5318619-dirty #1
      [    1.920000] Stack : 0000000031aac000 ffffffff810d0000 0000000000000052 ffffffff802730a4
                0000000000000000 0000000000000001 ffffffff810cdf90 ffffffff810d0000
                ffffffff8068b968 ffffffff806f5537 ffffffff810cdf90 980000009f0782e8
                0000000000000001 ffffffff80720000 ffffffff806b0000 980000009f078000
                980000009f290000 ffffffff805f312c 980000009f05b5d8 ffffffff80233518
                980000009f05b5e8 ffffffff80274b7c 980000009f078000 ffffffff8068b968
                0000000000000000 0000000000000000 0000000000000000 0000000000000000
                0000000000000000 980000009f05b520 0000000000000000 ffffffff805f2f6c
                0000000000000000 ffffffff80700000 ffffffff80700000 ffffffff806fc758
                ffffffff80700000 ffffffff8020be98 ffffffff806fceb0 ffffffff805f2f6c
                ...
      [    2.028000] Call Trace:
      [    2.032000] [<ffffffff8020be98>] show_stack+0x80/0x98
      [    2.036000] [<ffffffff805f2f6c>] __schedule_bug+0x44/0x6c
      [    2.040000] [<ffffffff805fac58>] __schedule+0x518/0x5b0
      [    2.044000] [<ffffffff805f8a58>] schedule_timeout+0x128/0x1f0
      [    2.048000] [<ffffffff80240314>] msleep+0x3c/0x60
      [    2.052000] [<ffffffff80495400>] do_probe+0x238/0x3a8
      [    2.056000] [<ffffffff804958b0>] ide_probe_port+0x340/0x7e8
      [    2.060000] [<ffffffff80496028>] ide_host_register+0x2d0/0x7a8
      [    2.064000] [<ffffffff8049c65c>] ide_pci_init_two+0x4e4/0x790
      [    2.068000] [<ffffffff8049f9b8>] amd74xx_probe+0x148/0x2c8
      [    2.072000] [<ffffffff803f571c>] pci_device_probe+0xc4/0x130
      [    2.076000] [<ffffffff80478f60>] driver_probe_device+0x98/0x270
      [    2.080000] [<ffffffff80479298>] __driver_attach+0xe0/0xe8
      [    2.084000] [<ffffffff80476ab0>] bus_for_each_dev+0x78/0xe0
      [    2.088000] [<ffffffff80478468>] bus_add_driver+0x230/0x310
      [    2.092000] [<ffffffff80479b44>] driver_register+0x84/0x158
      [    2.096000] [<ffffffff80200504>] do_one_initcall+0x104/0x160
      Signed-off-by: NYoichi Yuasa <yuasa@linux-mips.org>
      Reported-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Tested-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: linux-mips@linux-mips.org
      Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
      Patchwork: https://patchwork.linux-mips.org/patch/5941/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      5596b0b2
    • T
      x86/simplefb: Fix overflow causing bogus fall-back · e33a29a5
      Tom Gundersen 提交于
      On my MacBook Air lfb_size is 4M, which makes the bitshit
      overflow (to 256GB - larger than 32 bits), meaning we fall
      back to efifb unnecessarily.
      
      Cast to u64 to avoid the overflow.
      Signed-off-by: NTom Gundersen <teg@jklm.no>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Link: http://lkml.kernel.org/r/1380644320-1026-1-git-send-email-teg@jklm.noSigned-off-by: NIngo Molnar <mingo@kernel.org>
      e33a29a5
  5. 01 10月, 2013 9 次提交
  6. 30 9月, 2013 8 次提交
  7. 28 9月, 2013 1 次提交