start up AP in i5

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
watermirror
Member
Member
Posts: 25
Joined: Tue Nov 05, 2013 4:06 am

start up AP in i5

Post by watermirror »

Hi,

i have write a function to start up AP in i7 4770. but when i use the same function to run in i5 processor, the AP can not start up. I can assure there is no error in local apic esr, and the ap's entry address is correct.

is there any better way to detect the error?
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: start up AP in i5

Post by Brendan »

Hi,
watermirror wrote:i have write a function to start up AP in i7 4770. but when i use the same function to run in i5 processor, the AP can not start up. I can assure there is no error in local apic esr, and the ap's entry address is correct.

is there any better way to detect the error?
There is no other way to detect the error (if the error is detectable at all).

It is easy to make mistakes though, like forgetting that you have to write zero to the ESR before reading it, or getting the AP startup sequence wrong in a way that causes "works by accident on some hardware".


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
xenos
Member
Member
Posts: 1121
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: start up AP in i5

Post by xenos »

Unfortunately I don't have access to Combuster's crystal ball, but my tarot says there's something wrong with your AP startup sequences. What does your startup function look like - LAPIC ID detection, IPI sequence, timeouts, AP trampoline code? What exactly happens when you run it on i5? Also my experience has shown that AMD SimNow! is quite useful for testing AP startup code as it fails even on small mistakes, which Bochs and QEMU seem to ignore (at least my code had such a mistake in it which made only SimNow! fail).
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
Post Reply