• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* tick14.c
2  *
3  * Copyright (C) 1996 David Redman (djhr@tadpole.co.uk)
4  *
5  * This file handles the Sparc specific level14 ticker
6  * This is really useful for profiling OBP uses it for keyboard
7  * aborts and other stuff.
8  */
9 #include <linux/kernel.h>
10 
11 extern unsigned long lvl14_save[5];
12 static unsigned long *linux_lvl14 = NULL;
13 static unsigned long obp_lvl14[4];
14 
15 /*
16  * Call with timer IRQ closed.
17  * First time we do it with disable_irq, later prom code uses spin_lock_irq().
18  */
install_linux_ticker(void)19 void install_linux_ticker(void)
20 {
21 
22 	if (!linux_lvl14)
23 		return;
24 	linux_lvl14[0] =  lvl14_save[0];
25 	linux_lvl14[1] =  lvl14_save[1];
26 	linux_lvl14[2] =  lvl14_save[2];
27 	linux_lvl14[3] =  lvl14_save[3];
28 }
29 
install_obp_ticker(void)30 void install_obp_ticker(void)
31 {
32 
33 	if (!linux_lvl14)
34 		return;
35 	linux_lvl14[0] =  obp_lvl14[0];
36 	linux_lvl14[1] =  obp_lvl14[1];
37 	linux_lvl14[2] =  obp_lvl14[2];
38 	linux_lvl14[3] =  obp_lvl14[3];
39 }
40