Hello,

I've been looking into PR i386/40564 as I'm the owner of an Intel 
SE7500CW2. I managed to track it down to start_ap in mp_machdep.c.

snippet from start_ap():

         while (read_apic_timer())
                 if (mp_ncpus > cpus)
                         return 1;       /* return SUCCESS */


After a bit of poking around I found mpboot.s as the location of where 
mp_ncpus gets increased (mp_begin) after the AP has been started. The 
startup code for the AP is also in mpboot.s. Not being a kernel hacker I'm 
kind of stuck at this point. Windows and Linux work with this board, so 
it's probably not a hardware problem. Start_ap also appears to follow the 
Intel MP Spec very closely, after a quick glance, so I'm at a loss. Is an 
interrupt being lost somewhere? Is the problem occuring before the AP even 
executes its startup code and thus never executing mp_begin? I'm not an 
assembly programmer, and only have a very loose understanding of assembly, 
so actually understanding anything going on in mpboot.s is not very likely. 
Any help would be greatly appreciated.


Craig Hawco



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to