1. 06 10月, 2012 18 次提交
  2. 05 10月, 2012 2 次提交
    • M
      Revert "microblaze_mmu_v2: Update signal returning address" · 94fda49a
      Michal Simek 提交于
      This reverts commit 8b28626a.
      
      Offset -8 is wrong because when it is applied then one instruction
      before brki r14, 8 is called again when we return.
      Offset -4 is correct and brki instruction is called again.
      
      This change came from ancient MMU kernel.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      94fda49a
    • M
      c6x: remove c6x signal.h · 2e919f76
      Mark Salter 提交于
      The c6x signal.h includes the asm-generic version and provides
      a couple of extern declarations. David Howells pointed out that
      the externs needed to be protected by ifdef __KERNEL__. As it
      turns out, the externs aren't really needed since the functions
      are only called from asm code. So this patch gets rid of the
      c6x signal.h and uses just the asm-generic version.
      Signed-off-by: NMark Salter <msalter@redhat.com>
      2e919f76
  3. 04 10月, 2012 18 次提交
    • J
      microblaze: Added more support for PCI · c74c8b1d
      John Linn 提交于
      In order to use an off the shelf nic, like the intel pro card,
      changes are needed to support pci dma interfaces and other
      small changes.
      Signed-off-by: NJohn Linn <john.linn@xilinx.com>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      c74c8b1d
    • M
      microblaze: Prefer to use pr_XXX instead of printk(KERN_XX) · aaa5241e
      Michal Simek 提交于
      Fix reset.c, timer.c, setup.c file.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      aaa5241e
    • M
      microblaze: Fix bug with passing command line · fcc1c0ff
      Michal Simek 提交于
      When u-boot passes control over to Linux it places the Linux command
      line between to the end of __init_end. When space between
      __init_end and __bss_start is not COMMAND_LINE_SIZE then
      the part of cmdline can be lost.
      In extreme case if __init_end == __bss_start u-boot can't pass
      any cmdline to Linux kernel.
      
      This patch fix this issue by copying cmd line directly to
      cmd_line char array which is placed in data section.
      Reported-by: NDavid Mc Andrew <david.mcandrew@xilinx.com>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      fcc1c0ff
    • M
      microblaze: Remove PAGE properties duplication · c7e9a211
      Michal Simek 提交于
      HWEXEC and HWWRITE is define above. Remove them.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      c7e9a211
    • M
      microblaze: Remove additional andi which has been already done · 1f260760
      Michal Simek 提交于
      Remove one additional step.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      1f260760
    • M
      microblaze: Use predefined macro for ESR_DIZ · 91836710
      Michal Simek 提交于
      Just use macro instead of hardcoded value.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      91836710
    • M
      microblaze: Support 4k/16k/64k pages · 6e80cff5
      Michal Simek 提交于
      Add support for page size which is supported by MMU.
      Remove 8k and 32k page size because they are not supported
      by MMU.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      6e80cff5
    • M
      microblaze: Do not used hardcoded value in exception handler · 9f78d3b5
      Michal Simek 提交于
      Use predefined macros to support more page sizes.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      9f78d3b5
    • M
      microblaze: Added fdt chosen capability for timer · 88d23b44
      Michal Simek 提交于
      This lets a dts author flag a particular timer in the system as the system timer.
      If the chosen node contains a "system-timer=<&foo>" entry than that handle will
      be used to determine the system timer. In no such entry exists then the first
      found timer will be used (current behaviour).
      Signed-off-by: NPeter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      88d23b44
    • M
      microblaze: Add support for ioreadXX/iowriteXX_rep · 9998517a
      Michal Simek 提交于
      Reuse versions from asm-generic functions.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      9998517a
    • S
      microblaze: Improve failure handling for GPIO reset · 191d5eca
      Stephan Linz 提交于
      Early exit from of_platform_reset_gpio_probe() if there
      was no GPIO reset line configured.
      
      Avoid kernel oops in gpio_system_reset():
      
      [   27.413294] Restarting system.
      [   27.415674] Machine restart...
      [   27.418787] Oops: kernel access of bad area, sig: 11
      [   27.423252]  Registers dump: mode=83871D1C
      [   27.427428]  r1=00000000, r2=00000000, r3=FFFFFEF8, r4=00000000
      [   27.433310]  r5=C026AED0, r6=00000001, r7=00000068, r8=00000000
      [   27.439189]  r9=C3871DAC, r10=000011A5, r11=00000000, r12=0000000A
      [   27.445318]  r13=00000000, r14=0000000F, r15=C00029BC, r16=00000000
      [   27.451558]  r17=C011DE8C, r18=80000115, r19=0000000F, r20=48184ED8
      [   27.457770]  r21=00000000, r22=FFFFFFEA, r23=00000001, r24=FEE1DEAD
      [   27.463982]  r25=00000054, r26=1000B1C8, r27=00000000, r28=00000000
      [   27.470208]  r29=00000000, r30=00000000, r31=C32D30C0, rPC=C011DE8C
      [   27.476433]  msr=000042A2, ear=0000004B, esr=00000872, fsr=342E3732
      
      And remove useless dump_stack from machine_restart.
      Signed-off-by: NStephan Linz <linz@li-pro.net>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      191d5eca
    • P
      microblaze: clinkage.h · 3676d24a
      Paul Bolle 提交于
      Nothing includes <asm/clinkage.h>. It has actually never been included
      since it was added to the tree in commit
      9981cd94 ("microblaze_v8: clinkage.h
      linkage.h sections.h kmap_types.h"). That's not surprising, since
      including it is indistinguishable from including <linux/linkage.h>. It
      can safely be removed.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      3676d24a
    • D
      UAPI: Split compound conditionals containing __KERNEL__ in Arm64 · 1c1e4362
      David Howells 提交于
      Split compound conditionals containing __KERNEL__ in Arm64 where possible to
      make it easier for the UAPI disintegration scripts to handle them.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      1c1e4362
    • D
      UAPI: Fix the guards on various asm/unistd.h files · 89013952
      David Howells 提交于
      asm-generic/unistd.h and a number of asm/unistd.h files have been given
      reinclusion guards that allow the guard to be overridden if __SYSCALL is
      defined.  Unfortunately, these files define __SYSCALL and don't undefine it
      when they've finished with it, thus rendering the guard ineffective.
      
      The reason for this override is to allow the file to be #included multiple
      times with different settings on __SYSCALL for purposes like generating syscall
      tables.
      
      The following guards are problematic:
      
      arch/arm64/include/asm/unistd.h:#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
      arch/arm64/include/asm/unistd32.h:#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
      arch/c6x/include/asm/unistd.h:#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
      arch/hexagon/include/asm/unistd.h:#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
      arch/openrisc/include/asm/unistd.h:#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
      arch/score/include/asm/unistd.h:#if !defined(_ASM_SCORE_UNISTD_H) || defined(__SYSCALL)
      arch/tile/include/asm/unistd.h:#if !defined(_ASM_TILE_UNISTD_H) || defined(__SYSCALL)
      arch/unicore32/include/asm/unistd.h:#if !defined(__UNICORE_UNISTD_H__) || defined(__SYSCALL)
      include/asm-generic/unistd.h:#if !defined(_ASM_GENERIC_UNISTD_H) || defined(__SYSCALL)
      
      On the assumption that the guards' ineffectiveness has passed unnoticed, just
      remove these guards entirely.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      89013952
    • J
      crypto: x86/glue_helper - fix storing of new IV in CBC encryption · c9f97a27
      Jussi Kivilinna 提交于
      Glue_helper incorrectly XORs new IV over old IV at end of CBC encryption
      function when it should store. This causes CBC encryption to give
      incorrect output on multi-page encryption requests.
      Signed-off-by: NJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      c9f97a27
    • A
      powerpc/iommu: Fix multiple issues with IOMMU pools code · d900bd73
      Anton Blanchard 提交于
      There are a number of issues in the recent IOMMU pools code:
      
      - On a preempt kernel we might switch CPUs in the middle of building
        a scatter gather list. When this happens the handle hint passed in
        no longer falls within the local CPU's pool. Check for this and
        fall back to the pool hint.
      
      - We were missing a spin_unlock/spin_lock in one spot where we
        switch pools.
      
      - We need to provide locking around dart_tlb_invalidate_all and
        dart_tlb_invalidate_one now that the global lock is gone.
      Reported-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@kernel.org> [v3.6]
      d900bd73
    • N
      powerpc: Fix VMX fix for memcpy case · c8adfecc
      Nishanth Aravamudan 提交于
      In 2fae7cdb ("powerpc: Fix VMX in
      interrupt check in POWER7 copy loops"), Anton inadvertently
      introduced a regression for memcpy on POWER7 machines. copyuser and
      memcpy diverge slightly in their use of cr1 (copyuser doesn't use it,
      but memcpy does) and you end up clobbering that register with your fix.
      That results in (taken from an FC18 kernel):
      
      [   18.824604] Unrecoverable VMX/Altivec Unavailable Exception f20 at c000000000052f40
      [   18.824618] Oops: Unrecoverable VMX/Altivec Unavailable Exception, sig: 6 [#1]
      [   18.824623] SMP NR_CPUS=1024 NUMA pSeries
      [   18.824633] Modules linked in: tg3(+) be2net(+) cxgb4(+) ipr(+) sunrpc xts lrw gf128mul dm_crypt dm_round_robin dm_multipath linear raid10 raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor async_tx raid1 raid0 scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc scsi_dh_alua squashfs cramfs
      [   18.824705] NIP: c000000000052f40 LR: c00000000020b874 CTR: 0000000000000512
      [   18.824709] REGS: c000001f1fef7790 TRAP: 0f20   Not tainted  (3.6.0-0.rc6.git0.2.fc18.ppc64)
      [   18.824713] MSR: 8000000000009032 <SF,EE,ME,IR,DR,RI>  CR: 4802802e  XER: 20000010
      [   18.824726] SOFTE: 0
      [   18.824728] CFAR: 0000000000000f20
      [   18.824731] TASK = c000000fa7128400[0] 'swapper/24' THREAD: c000000fa7480000 CPU: 24
      GPR00: 00000000ffffffc0 c000001f1fef7a10 c00000000164edc0 c000000f9b9a8120
      GPR04: c000000f9b9a8124 0000000000001438 0000000000000060 03ffffff064657ee
      GPR08: 0000000080000000 0000000000000010 0000000000000020 0000000000000030
      GPR12: 0000000028028022 c00000000ff25400 0000000000000001 0000000000000000
      GPR16: 0000000000000000 7fffffffffffffff c0000000016b2180 c00000000156a500
      GPR20: c000000f968c7a90 c0000000131c31d8 c000001f1fef4000 c000000001561d00
      GPR24: 000000000000000a 0000000000000000 0000000000000001 0000000000000012
      GPR28: c000000fa5c04f80 00000000000008bc c0000000015c0a28 000000000000022e
      [   18.824792] NIP [c000000000052f40] .memcpy_power7+0x5a0/0x7c4
      [   18.824797] LR [c00000000020b874] .pcpu_free_area+0x174/0x2d0
      [   18.824800] Call Trace:
      [   18.824803] [c000001f1fef7a10] [c000000000052c14] .memcpy_power7+0x274/0x7c4 (unreliable)
      [   18.824809] [c000001f1fef7b10] [c00000000020b874] .pcpu_free_area+0x174/0x2d0
      [   18.824813] [c000001f1fef7bb0] [c00000000020ba88] .free_percpu+0xb8/0x1b0
      [   18.824819] [c000001f1fef7c50] [c00000000043d144] .throtl_pd_exit+0x94/0xd0
      [   18.824824] [c000001f1fef7cf0] [c00000000043acf8] .blkg_free+0x88/0xe0
      [   18.824829] [c000001f1fef7d90] [c00000000018c048] .rcu_process_callbacks+0x2e8/0x8a0
      [   18.824835] [c000001f1fef7e90] [c0000000000a8ce8] .__do_softirq+0x158/0x4d0
      [   18.824840] [c000001f1fef7f90] [c000000000025ecc] .call_do_softirq+0x14/0x24
      [   18.824845] [c000000fa7483650] [c000000000010e80] .do_softirq+0x160/0x1a0
      [   18.824850] [c000000fa74836f0] [c0000000000a94a4] .irq_exit+0xf4/0x120
      [   18.824854] [c000000fa7483780] [c000000000020c44] .timer_interrupt+0x154/0x4d0
      [   18.824859] [c000000fa7483830] [c000000000003be0] decrementer_common+0x160/0x180
      [   18.824866] --- Exception: 901 at .plpar_hcall_norets+0x84/0xd4
      [   18.824866]     LR = .check_and_cede_processor+0x48/0x80
      [   18.824871] [c000000fa7483b20] [c00000000007f018] .check_and_cede_processor+0x18/0x80 (unreliable)
      [   18.824877] [c000000fa7483b90] [c00000000007f104] .dedicated_cede_loop+0x84/0x150
      [   18.824883] [c000000fa7483c50] [c0000000006bc030] .cpuidle_enter+0x30/0x50
      [   18.824887] [c000000fa7483cc0] [c0000000006bc9f4] .cpuidle_idle_call+0x104/0x720
      [   18.824892] [c000000fa7483d80] [c000000000070af8] .pSeries_idle+0x18/0x40
      [   18.824897] [c000000fa7483df0] [c000000000019084] .cpu_idle+0x1a4/0x380
      [   18.824902] [c000000fa7483ec0] [c0000000008a4c18] .start_secondary+0x520/0x528
      [   18.824907] [c000000fa7483f90] [c0000000000093f0] .start_secondary_prolog+0x10/0x14
      [   18.824911] Instruction dump:
      [   18.824914] 38840008 90030000 90e30004 38630008 7ca62850 7cc300d0 78c7e102 7cf01120
      [   18.824923] 78c60660 39200010 39400020 39600030 <7e00200c> 7c0020ce 38840010 409f001c
      [   18.824935] ---[ end trace 0bb95124affaaa45 ]---
      [   18.825046] Unrecoverable VMX/Altivec Unavailable Exception f20 at c000000000052d08
      
      I believe the right fix is to make memcpy match usercopy and not use
      cr1.
      Signed-off-by: NNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@kernel.org> [v3.6]
      c8adfecc
    • M
      c6x: make dsk6455 the default config · 37d11ab8
      Mark Salter 提交于
      C6X had no defconfig, so DSK6455 is as good as any.
      Signed-off-by: NMark Salter <msalter@redhat.com>
      37d11ab8
  4. 03 10月, 2012 2 次提交