branch.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * Branch and jump emulation.
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * Copyright (C) 1996, 1997, 1998 by Ralf Baechle
  9.  *
  10.  * $Id: branch.h,v 1.2 1998/04/28 19:37:46 ralf Exp $
  11.  */
  12. #include <asm/ptrace.h>
  13. extern inline int delay_slot(struct pt_regs *regs)
  14. {
  15. return regs->cp0_cause & CAUSEF_BD;
  16. }
  17. extern int __compute_return_epc(struct pt_regs *regs);
  18. extern inline int compute_return_epc(struct pt_regs *regs)
  19. {
  20. if (!delay_slot(regs)) {
  21. regs->cp0_epc += 4;
  22. return 0;
  23. }
  24. return __compute_return_epc(regs);
  25. }