11 #include <linux/kernel.h>
12 #include <linux/types.h>
14 #include <linux/sched.h>
15 #include <linux/pci.h>
17 #include <linux/timex.h>
20 #include <asm/ptrace.h>
23 #include <asm/mmu_context.h>
25 #include <asm/pgtable.h>
27 #include <asm/tlbflush.h>
36 ruffian_init_irq(
void)
67 #define RUFFIAN_LATCH DIV_ROUND_CLOSEST(PIT_TICK_RATE, HZ)
70 ruffian_init_rtc(
void)
88 ruffian_kill_arch (
int mode)
125 {-1, -1, -1, -1, -1},
126 {-1, -1, -1, -1, -1},
127 {44, 44, 44, 44, 44},
128 {-1, -1, -1, -1, -1},
129 {43, 43, 42, 41, 40},
131 {19, 19, 18, 17, 16},
132 {31, 31, 30, 29, 28},
133 {27, 27, 26, 25, 24},
134 {39, 39, 38, 37, 36},
135 {35, 35, 34, 33, 32},
136 {20, 20, 20, 20, 20},
138 const long min_idsel = 13, max_idsel = 23, irqs_per_slot = 5;
147 if (dev->
bus->number == 0) {
165 dev = dev->
bus->self;
168 }
while (dev->
bus->self);
174 #ifdef BUILDING_FOR_MILO
180 static unsigned long __init
181 ruffian_get_bank_size(
unsigned long offset)
183 unsigned long bank_addr, bank,
ret = 0;
187 bank_addr = (
unsigned long)PYXIS_MCR + offset;
188 bank = *(
vulp)bank_addr;
204 bank = (bank & 0x1e) >> 1;
217 struct alpha_machine_vector ruffian_mv
__initmv = {
218 .vector_name =
"Ruffian",
232 .init_irq = ruffian_init_irq,
233 .init_rtc = ruffian_init_rtc,
235 .kill_arch = ruffian_kill_arch,
236 .pci_map_irq = ruffian_map_irq,
237 .pci_swizzle = ruffian_swizzle,