12 #include <linux/kernel.h>
17 #include <linux/errno.h>
18 #include <linux/pci.h>
20 #include <linux/types.h>
59 unsigned pci_int, pci_air, pci_cir, pci_aint;
66 printk(
"PCI INTERRUPT (at %08llx)!\n", regs->
pc);
67 printk(
"PCI INT -> 0x%x\n", pci_int & 0xffff);
68 printk(
"PCI AIR -> 0x%x\n", pci_air);
69 printk(
"PCI CIR -> 0x%x\n", pci_cir);
75 printk(
"PCI ARB INTERRUPT!\n");
76 printk(
"PCI AINT -> 0x%x\n", pci_aint);
77 printk(
"PCI AIR -> 0x%x\n", pci_air);
78 printk(
"PCI CIR -> 0x%x\n", pci_cir);
85 static irqreturn_t pcish5_serr_irq(
int irq,
void *dev_id)
92 static struct resource sh5_pci_resources[2];
94 static struct pci_channel sh5pci_controller = {
96 .resources = sh5_pci_resources,
98 .mem_offset = 0x00000000,
99 .io_offset = 0x00000000,
102 static int __init sh5pci_init(
void)
110 0,
"PCI Error",
NULL) < 0) {
116 0,
"PCI SERR interrupt",
NULL) < 0) {
123 panic(
"Unable to remap PCICR\n");
128 panic(
"Unable to remap PCIIO\n");
188 if (memSize < (1024 * 1024)) {
195 lsr0 = (memSize > (512 * 1024 * 1024)) ? 0x1ff00001 :
196 ((r2p2(memSize) - 0x100000) | 0x1);
215 sh5_pci_resources[1].start = memStart;
216 sh5_pci_resources[1].end = memStart + memSize;