Hi,
please find attached a patch to linux/arch/mips/dec/setup.c,
it fixes dec_init_kn02 to work on the DS5000/200 the only machine this is
called from at any rate. .. I think it is correct .. can someone add it to
whatever tree is needed .. :-) ..
The DS5000/200 now boots, sends a bootp request, receives the reply
(i.e. the interrupt handler works) ...
and then does
Sending BOOTP requests.... OK
IP-Config: Got BOOTP answer from 136.201.105.129, my address is
136.201.105.130
RAMDISK: Compressed image found at block 0
Got Bus Error at 80072eb0
$0 : 00000000 10000c00 ffffffe0 fffe0000 0000002a 00002000 801b7298
00000001
$8 : 00000c00 ffff00ff 00000f18 00000000 00000fab 8017b358 00000001
00000001
$16: 80fabfc0 80fab000 00000008 00000008 80353740 00000000 00000003
10000c01
$24: 00000001 10000c01 80334000 803350e8 00000000
80072db4
epc : 80072eb0
Status: 10080c04
Cause : 1000201c
>From my System.map
800720c0 t kmem_slab_destroy
80072258 T kmem_cache_create
80072938 T kmem_cache_shrink
80072c48 t kmem_cache_grow
80073244 t kmem_report_alloc_err
80073288 t kmem_report_free_err
So kmem_cache_grow is the spot, any pointers or ideas or shall I just keep
hacking?
Dave.
------------ David Airlie, David.Airlie@ul.ie,airlied@skynet --------
Telecommunications Research Centre, ECE Dept, University of Limerick \
http://www.csn.ul.ie/~airlied -- Telecommunications Researcher \
--- TEL: +353-61-202695 -----------------------------------------------
--- setup.c.orig Fri Apr 23 14:22:09 1999
+++ setup.c Fri Apr 23 14:21:09 1999
@@ -207,9 +207,9 @@
/*
* Setup IOASIC interrupt
*/
- cpu_ivec_tbl[1] = kn02_io_int;
- cpu_mask_tbl[1] = IE_IRQ0;
- cpu_irq_nr[1] = -1;
+ cpu_ivec_tbl[0] = kn02_io_int;
+ cpu_mask_tbl[0] = IE_IRQ0;
+ cpu_irq_nr[0] = -1;
*imr = *imr & 0xff00ff00;
/*
@@ -217,8 +217,8 @@
*/
dec_interrupt[CLOCK].cpu_mask = IE_IRQ1;
dec_interrupt[CLOCK].iemask = 0;
- cpu_mask_tbl[0] = IE_IRQ1;
- cpu_irq_nr[0] = CLOCK;
+ cpu_mask_tbl[1] = IE_IRQ1;
+ cpu_irq_nr[1] = CLOCK;
dec_interrupt[SCSI_INT].cpu_mask = IE_IRQ0;
dec_interrupt[SCSI_INT].iemask = KN02_SLOT5;
@@ -252,13 +252,13 @@
dec_interrupt[MEMORY].cpu_mask = IE_IRQ3;
dec_interrupt[MEMORY].iemask = 0;
- cpu_mask_tbl[1] = IE_IRQ3;
- cpu_irq_nr[1] = MEMORY;
+ cpu_mask_tbl[2] = IE_IRQ3;
+ cpu_irq_nr[2] = MEMORY;
dec_interrupt[FPU].cpu_mask = IE_IRQ5;
dec_interrupt[FPU].iemask = 0;
- cpu_mask_tbl[2] = IE_IRQ5;
- cpu_irq_nr[2] = FPU;
+ cpu_mask_tbl[3] = IE_IRQ5;
+ cpu_irq_nr[3] = FPU;
} /* dec_init_kn02 */
|