summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-rpc/system.h
blob: aa6e645c61ee1f4a0b2b60ab4eb71dd7d4cdbbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * linux/include/asm-arm/arch-rpc/system.h
 *
 * Copyright (c) 1996 Russell King
 */
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H

#include <asm/proc-fns.h>

#define arch_hard_reset() {						\
	extern void ecard_reset (int card);				\
	outb (0, IOMD_ROMCR0);						\
	ecard_reset (-1);						\
	cli();								\
	__asm__ __volatile__("msr  spsr, r1;"				\
			     "mcr  p15, 0, %0, c1, c0, 0;"		\
			     "movs pc, #0"				\
			 : 						\
			 : "r" (processor.u.armv3v4.reset()));		\
	}

#endif