]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/parisc/kernel/pa7300lc.c
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / arch / parisc / kernel / pa7300lc.c
1 /*
2 * linux/arch/parisc/kernel/pa7300lc.c
3 * - PA7300LC-specific functions
4 *
5 * Copyright (C) 2000 Philipp Rumpf */
6
7 #include <linux/sched.h>
8 #include <linux/smp.h>
9 #include <linux/kernel.h>
10 #include <asm/io.h>
11 #include <asm/ptrace.h>
12 #include <asm/machdep.h>
13
14 /* CPU register indices */
15
16 #define MIOC_STATUS 0xf040
17 #define MIOC_CONTROL 0xf080
18 #define MDERRADD 0xf0e0
19 #define DMAERR 0xf0e8
20 #define DIOERR 0xf0ec
21 #define HIDMAMEM 0xf0f4
22
23 /* this returns the HPA of the CPU it was called on */
24 static u32 cpu_hpa(void)
25 {
26 return 0xfffb0000;
27 }
28
29 static void pa7300lc_lpmc(int code, struct pt_regs *regs)
30 {
31 u32 hpa;
32 printk(KERN_WARNING "LPMC on CPU %d\n", smp_processor_id());
33
34 show_regs(regs);
35
36 hpa = cpu_hpa();
37 printk(KERN_WARNING
38 "MIOC_CONTROL %08x\n" "MIOC_STATUS %08x\n"
39 "MDERRADD %08x\n" "DMAERR %08x\n"
40 "DIOERR %08x\n" "HIDMAMEM %08x\n",
41 gsc_readl(hpa+MIOC_CONTROL), gsc_readl(hpa+MIOC_STATUS),
42 gsc_readl(hpa+MDERRADD), gsc_readl(hpa+DMAERR),
43 gsc_readl(hpa+DIOERR), gsc_readl(hpa+HIDMAMEM));
44 }
45
46 void pa7300lc_init(void)
47 {
48 cpu_lpmc = pa7300lc_lpmc;
49 }