• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/sparc/kernel/
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
11extern unsigned long lvl14_save[5];
12static unsigned long *linux_lvl14 = NULL;
13static 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 */
19void 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
30void 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