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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Miscellaneous ARCS PROM routines.
  7.  *
  8.  * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
  9.  * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
  10.  * Copyright (C) 1999 Silicon Graphics, Inc.
  11.  */
  12. #include <linux/config.h>
  13. #include <linux/init.h>
  14. #include <linux/kernel.h>
  15. #include <asm/bcache.h>
  16. #include <asm/arc/types.h>
  17. #include <asm/sgialib.h>
  18. #include <asm/bootinfo.h>
  19. #include <asm/system.h>
  20. extern unsigned long mips_cputype;
  21. extern void *sgiwd93_host;
  22. extern void reset_wd33c93(void *instance);
  23. VOID
  24. ArcHalt(VOID)
  25. {
  26. bc_disable();
  27. cli();
  28. #if CONFIG_SCSI_SGIWD93
  29. reset_wd33c93(sgiwd93_host);
  30. #endif
  31. ARC_CALL0(halt);
  32. never: goto never;
  33. }
  34. VOID
  35. ArcPowerDown(VOID)
  36. {
  37. bc_disable();
  38. cli();
  39. #if CONFIG_SCSI_SGIWD93
  40. reset_wd33c93(sgiwd93_host);
  41. #endif
  42. ARC_CALL0(pdown);
  43. never: goto never;
  44. }
  45. /* XXX is this a soft reset basically? XXX */
  46. VOID
  47. ArcRestart(VOID)
  48. {
  49. bc_disable();
  50. cli();
  51. #if CONFIG_SCSI_SGIWD93
  52. reset_wd33c93(sgiwd93_host);
  53. #endif
  54. ARC_CALL0(restart);
  55. never: goto never;
  56. }
  57. VOID
  58. ArcReboot(VOID)
  59. {
  60. bc_disable();
  61. cli();
  62. #if CONFIG_SCSI_SGIWD93
  63. reset_wd33c93(sgiwd93_host);
  64. #endif
  65. ARC_CALL0(reboot);
  66. never: goto never;
  67. }
  68. VOID
  69. ArcEnterInteractiveMode(VOID)
  70. {
  71. bc_disable();
  72. cli();
  73. #if CONFIG_SCSI_SGIWD93
  74. reset_wd33c93(sgiwd93_host);
  75. #endif
  76. ARC_CALL0(imode);
  77. never: goto never;
  78. }
  79. LONG
  80. ArcSaveConfiguration(VOID)
  81. {
  82. return ARC_CALL0(cfg_save);
  83. }
  84. struct linux_sysid *
  85. ArcGetSystemId(VOID)
  86. {
  87. return (struct linux_sysid *) ARC_CALL0(get_sysid);
  88. }
  89. VOID __init
  90. ArcFlushAllCaches(VOID)
  91. {
  92. ARC_CALL0(cache_flush);
  93. }