Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/parisc/kernel/pa7300lc.c
10819 views
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
}
50
51