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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/arch-rpc/system.h
  3.  *
  4.  *  Copyright (C) 1996-1999 Russell King.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #include <asm/arch/hardware.h>
  11. #include <asm/hardware/iomd.h>
  12. #include <asm/io.h>
  13. static void arch_idle(void)
  14. {
  15. unsigned long start_idle;
  16. start_idle = jiffies;
  17. do {
  18. if (current->need_resched || hlt_counter)
  19. goto slow_out;
  20. cpu_do_idle(IDLE_WAIT_FAST);
  21. } while (time_before(jiffies, start_idle + HZ/50));
  22. cpu_do_idle(IDLE_CLOCK_SLOW);
  23. while (!current->need_resched && !hlt_counter) {
  24. cpu_do_idle(IDLE_WAIT_SLOW);
  25. }
  26. cpu_do_idle(IDLE_CLOCK_FAST);
  27. slow_out:
  28. }
  29. static inline void arch_reset(char mode)
  30. {
  31. iomd_writeb(0, IOMD_ROMCR0);
  32. /*
  33.  * Jump into the ROM
  34.  */
  35. cpu_reset(0);
  36. }