Merge branch 'akpm'
[linux-2.6/next.git] / arch / parisc / kernel / pa7300lc.c
blob8a89780223aa355fb776f8233cc77b1e25d87b1a
1 /*
2 * linux/arch/parisc/kernel/pa7300lc.c
3 * - PA7300LC-specific functions
5 * Copyright (C) 2000 Philipp Rumpf */
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>
14 /* CPU register indices */
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
23 /* this returns the HPA of the CPU it was called on */
24 static u32 cpu_hpa(void)
26 return 0xfffb0000;
29 static void pa7300lc_lpmc(int code, struct pt_regs *regs)
31 u32 hpa;
32 printk(KERN_WARNING "LPMC on CPU %d\n", smp_processor_id());
34 show_regs(regs);
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));
46 void pa7300lc_init(void)
48 cpu_lpmc = pa7300lc_lpmc;