1. 06 11月, 2013 1 次提交
  2. 26 6月, 2013 2 次提交
    • V
      ARC: Remove explicit passing around of ECR · 38a9ff6d
      Vineet Gupta 提交于
      With ECR now part of pt_regs
      
      * No need to propagate from lowest asm handlers as arg
      * No need to save it in tsk->thread.cause_code
      * Avoid bit chopping to access the bit-fields
      
      More code consolidation, cleanup
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      38a9ff6d
    • V
      ARC: pt_regs update #5: Use real ECR for pt_regs->event vs. synth values · 502a0c77
      Vineet Gupta 提交于
      pt_regs->event was set with artificial values to identify the low level
      system event (syscall trap / breakpoint trap / exceptions / interrupts)
      
      With r8 saving out of the way, the full word can be used to save real
      ECR (Exception Cause Register) which helps idenify the event naturally,
      including additional info such as cause code, param.
      Only for Interrupts, where ECR is not applicable, do we resort to
      synthetic non ECR values.
      
      SAVE_ALL_TRAP/EXCEPTIONS can now be merged as they both use ECR with
      different runtime values.
      
      The ptrace helpers now use the sub-fields of ECR to distinguish the
      events (e.g. vector 0x25 is trap, param 0 is syscall...)
      
      The following benefits will follow:
      
      (1) This centralizes the location of where ECR is saved and will allow
          the cleanup of task->thread.cause_code ECR placeholder which is set
          in non-uniform way. Then ARC VM code can safely rely on it being
          there for purpose of finer grained VM_EXEC dcache flush (based on
          exec fault: I-TLB Miss)
      
      (2) Further, ECR being passed around from low level handlers as arg can
          be eliminated as it is part of standard reg-file in pt_regs
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      502a0c77
  3. 11 3月, 2013 1 次提交
    • V
      ARC: make allyesconfig build breakages · 1540c85b
      Vineet Gupta 提交于
        CC      drivers/mmc/host/mmc_spi.o
      drivers/mmc/host/mmc_spi.c:118: error: redefinition of 'struct scratch'
      make[3]: *** [drivers/mmc/host/mmc_spi.o] Error 1
      make[2]: *** [drivers/mmc/host] Error 2
      make[1]: *** [drivers/mmc] Error 2
      make: *** [drivers] Error 2
      
        CC      arch/arc/kernel/kgdb.o
      In file included from include/linux/kgdb.h:20,
                       from arch/arc/kernel/kgdb.c:11:
      /home/vineetg/arc/k.org/arc-port/arch/arc/include/asm/kgdb.h:34:
      warning: 'struct pt_regs' declared inside parameter list
      /home/vineetg/arc/k.org/arc-port/arch/arc/include/asm/kgdb.h:34:
      warning: its scope is only this definition or declaration, which is
      probably not what you want
      arch/arc/kernel/kgdb.c:172: error: conflicting types for 'kgdb_trap'
      
        CC      arch/arc/kernel/kgdb.o
      arch/arc/kernel/kgdb.c: In function 'pt_regs_to_gdb_regs':
      arch/arc/kernel/kgdb.c:62: error: dereferencing pointer to incomplete
      type
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      1540c85b
  4. 16 2月, 2013 1 次提交