Hi all.
FreeBSD's PCI code and the support for the EISA network card I have didn't
work for a while, but I just got the 2.2-ALPHA distribution, and it works
great (kudos to those who have been working on it).
I grabbed the SMP tree, and have been hacking on it a bit.
What I've noticed so far are:
-- mptable-2.0.2.c AND the kernel : Both do the MPS floating pointer
probe wrong. They are searching on 4-byte boundaries (it should
be 16-byte boundaries), and search too many areas. This caused
my test machine to not be recognized correctly.
The proper probe sequence is to search (again, on 16-byte
boundaries):
(1) If the EBDA is defined:
-- The first kilobyte of the EBDA
else:
-- The last kilobyte of system base memory.
(2) ROM space between 0xF0000 and 0xFFFFF.
If you find it anywhere else, it might be a false report (as
mentioned, it did on my test box).
-- If you have more than NCPU cpus it dies instead of just ignoring
the other CPUs.
-- If NCPU is greater than 2, then it dies trying to activate the
3rd CPU.
I've hacked it so that can only activate 2 CPUs, and that seems to work
for the moment. I'll try out the IO APIC stuff and see about getting
EISA interrupts.
--
Erich Stefan Boleyn \_ E-mail (preferred): <erich@uruk.org>
Mad Genius wanna-be, CyberMuffin \__ (finger me for other stats)
Web: http://www.uruk.org/~erich/ Motto: "I'll live forever or die trying"