You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.1 KiB
50 lines
1.1 KiB
20 years ago
|
/*
|
||
|
* linux/arch/parisc/kernel/pa7300lc.c
|
||
|
* - PA7300LC-specific functions
|
||
|
*
|
||
|
* Copyright (C) 2000 Philipp Rumpf */
|
||
|
|
||
|
#include <linux/sched.h>
|
||
|
#include <linux/smp.h>
|
||
|
#include <linux/kernel.h>
|
||
|
#include <asm/io.h>
|
||
|
#include <asm/ptrace.h>
|
||
|
#include <asm/machdep.h>
|
||
|
|
||
|
/* CPU register indices */
|
||
|
|
||
|
#define MIOC_STATUS 0xf040
|
||
|
#define MIOC_CONTROL 0xf080
|
||
|
#define MDERRADD 0xf0e0
|
||
|
#define DMAERR 0xf0e8
|
||
|
#define DIOERR 0xf0ec
|
||
|
#define HIDMAMEM 0xf0f4
|
||
|
|
||
|
/* this returns the HPA of the CPU it was called on */
|
||
|
static u32 cpu_hpa(void)
|
||
|
{
|
||
|
return 0xfffb0000;
|
||
|
}
|
||
|
|
||
|
static void pa7300lc_lpmc(int code, struct pt_regs *regs)
|
||
|
{
|
||
|
u32 hpa;
|
||
|
printk(KERN_WARNING "LPMC on CPU %d\n", smp_processor_id());
|
||
|
|
||
|
show_regs(regs);
|
||
|
|
||
|
hpa = cpu_hpa();
|
||
|
printk(KERN_WARNING
|
||
|
"MIOC_CONTROL %08x\n" "MIOC_STATUS %08x\n"
|
||
|
"MDERRADD %08x\n" "DMAERR %08x\n"
|
||
|
"DIOERR %08x\n" "HIDMAMEM %08x\n",
|
||
|
gsc_readl(hpa+MIOC_CONTROL), gsc_readl(hpa+MIOC_STATUS),
|
||
|
gsc_readl(hpa+MDERRADD), gsc_readl(hpa+DMAERR),
|
||
|
gsc_readl(hpa+DIOERR), gsc_readl(hpa+HIDMAMEM));
|
||
|
}
|
||
|
|
||
|
void pa7300lc_init(void)
|
||
|
{
|
||
|
cpu_lpmc = pa7300lc_lpmc;
|
||
|
}
|