Hi linux-mips list, First, I want to say, Linux/MIPS is great stuff - thanks for all your hard work, folks! Now, it is my understanding that, having a pre-REX PROM, the DECstation 5000/200 would not be able to successfully execute the REX calls (rex_gettcinfo(), rex_slot_address()) in drivers/tc/tc.c. Therefore, I have found it necessary to use a patched kernel in my efforts to boot Linux on VMIPS (http://www.dgate.org/vmips), which has lately gained some (limited) DECstation 5000/200 emulation capabilities. If you find this patch useful, you're quite welcome to it. I'm also interested in hearing from anyone who has access to a 5000/200 who can tell me whether I'm right or wrong, as I only have old manuals and header files to work from. -Brian Gaeke -- Brian R. Gaeke, brg at dgate.org -- GnuPG encrypted mail gleefully accepted Index: tc.c =================================================================== RCS file: /home/cvs/linux/drivers/tc/tc.c,v retrieving revision 1.7.2.8 diff -u -a -d -p -r1.7.2.8 tc.c --- tc.c 11 Aug 2003 11:52:38 -0000 1.7.2.8 +++ tc.c 3 Dec 2004 00:14:56 -0000 @@ -32,6 +32,7 @@ MODULE_LICENSE("GPL"); slot_info tc_bus[MAX_SLOT]; static int num_tcslots; static tcinfo *info; +static tcinfo ds5000_200_info; unsigned long system_base; @@ -196,8 +197,18 @@ void __init tc_init(void) tc_bus[i].flags = FREE; } - info = (tcinfo *) rex_gettcinfo(); - slot0addr = (unsigned long)KSEG1ADDR(rex_slot_address(0)); + if (mips_machtype != MACH_DS5000_200) { + info = (tcinfo *) rex_gettcinfo(); + slot0addr = (unsigned long)KSEG1ADDR(rex_slot_address(0)); + } else { + /* Hardcode these, because the old PROM lacks gettcinfo(). */ + ds5000_200_info.revision = 0; + ds5000_200_info.parity = 0; + ds5000_200_info.clk_period = 40; + ds5000_200_info.slot_size = 4; + info = &ds5000_200_info; + slot0addr = 0xbe000000; + } switch (mips_machtype) { case MACH_DS5000_200: