Blame view

arch/mips/dec/reset.c 713 Bytes
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
  /*
   * Reset a DECstation machine.
   *
   * Copyright (C) 199x  the Anonymous
   * Copyright (C) 2001, 2002, 2003  Maciej W. Rozycki
   */
  #include <linux/interrupt.h>
  #include <linux/linkage.h>
  
  #include <asm/addrspace.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
11

b3f6df9f2   Robert P. J. Day   [MIPS] Transform ...
12
  typedef void __noreturn (* noret_func_t)(void);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
13

b3f6df9f2   Robert P. J. Day   [MIPS] Transform ...
14
  static inline void __noreturn back_to_prom(void)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
15
  {
3bd4c902d   Maciej W. Rozycki   Deal with the blo...
16
  	noret_func_t func = (void *)CKSEG1ADDR(0x1fc00000);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
18
19
  
  	func();
  }
b3f6df9f2   Robert P. J. Day   [MIPS] Transform ...
20
  void __noreturn dec_machine_restart(char *command)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
21
22
23
  {
  	back_to_prom();
  }
b3f6df9f2   Robert P. J. Day   [MIPS] Transform ...
24
  void __noreturn dec_machine_halt(void)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25
26
27
  {
  	back_to_prom();
  }
b3f6df9f2   Robert P. J. Day   [MIPS] Transform ...
28
  void __noreturn dec_machine_power_off(void)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
29
30
31
32
  {
      /* DECstations don't have a software power switch */
  	back_to_prom();
  }
d62801e96   Ralf Baechle   [MIPS] DEC: pt_re...
33
  irqreturn_t dec_intr_halt(int irq, void *dev_id)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34
35
36
  {
  	dec_machine_halt();
  }