Hi!

I have recently posted my question in this mail-list.
My CompactPCI board GMSC2P3 works with SMP under Windows NT, but doesn't
work under Linux.

I have found an error!!!
I have located the values of MP Config Table data.
All values are correct, except mpc_spec: it should be 0x01 or 0x04, but not
0xFB as shown in the Table !!!!
 After inversion I got 0x04     8-)( !!!!
After cheking mpc_spec kernet tries to load default configuration and system
crashes.
(may be default configuration doesn't approach to my board)
I edited  /usr/src/linux/arch/i386/kernel/smp.c. Please find below the
corrections I have made in the standard sources:
 First, I remarked(excluded) a matching MPspec version - kernel works.
 Second, I added checking function for inverse mpc_spec - kernel works!!!
I have met identical problems in this mail-list ( Linux doesn't see SMP
Motherboard).
May be problem in this? I can't check this, because I don't have more
boards.
Please try to use my solution to exclude similar problems on your boards.
 I will be happy it helps!

static int __init smp_read_mpc(struct mp_config_table *mpc)
....
.....
mpc_spec = mpc->mpc_spec;
if (mpc_spec!=0x01 && mpc_spec!=0x04)
  mpc_spec = ~mpc_spec;
  if (mpc_spec!=0x01 && mpc_spec!=0x04)
  {
   printk("Bad Config Table version (%d)!!\n",mpc->mpc_spec);
   return 1;
  }
...
...
Regards.
Denis A. Nemtsev
RTSoft Co.
[EMAIL PROTECTED]


-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/dmentre/smp-howto/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]

Reply via email to