SMP support for Linux with up to 16 processors using the Intel MP
|
SMP support for Linux with up to 16 processors using the Intel MP
|
specification.
|
specification.
|
|
|
WARNING:
|
WARNING:
|
This is experimental. Back up your disks first. Experience is that
|
This is experimental. Back up your disks first. Experience is that
|
it is basically stable in its current (inefficient form).
|
it is basically stable in its current (inefficient form).
|
|
|
To fix:
|
To fix:
|
|
|
o Fix sys_idle to exit/enter kernel state and do hlt's.
|
o Fix sys_idle to exit/enter kernel state and do hlt's.
|
o Fix scheduler decisions to reschedule. Per cpu reschedule ?
|
o Fix scheduler decisions to reschedule. Per cpu reschedule ?
|
o Clean up message pass.
|
o Clean up message pass.
|
o Test for B stepping processors.
|
o Test for B stepping processors.
|
o Clean up processor specific/independent split.
|
o Clean up processor specific/independent split.
|
o Document it all. [PARTLY DONE]
|
o Document it all. [PARTLY DONE]
|
o Halt other CPU's on reset/panic doesn't always work.
|
o Halt other CPU's on reset/panic doesn't always work.
|
o Don't waste page at 4K - don't need it now.(watch the GDT code).
|
o Don't waste page at 4K - don't need it now.(watch the GDT code).
|
o Dump bootup pages once booted somehow.
|
o Dump bootup pages once booted somehow.
|
o Clean up warnings/volatiles.
|
o Clean up warnings/volatiles.
|
o Fix load_TR() for non contiguous processor ids
|
o Fix load_TR() for non contiguous processor ids
|
o Iterate over the slave timer requests if one is lost (keep a count per cpu)
|
o Iterate over the slave timer requests if one is lost (keep a count per cpu)
|
o Distribute IRQs (locking present just needs the 82489 to be asked
|
o Distribute IRQs (locking present just needs the 82489 to be asked
|
nicely).
|
nicely).
|
o 486 startup code.
|
o 486 startup code.
|
o How to handle mixed FPU/non FPU processors.
|
o How to handle mixed FPU/non FPU processors.
|
|
|