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?
start up AP in i5
Re: start up AP in i5
Hi,
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
There is no other way to detect the error (if the error is detectable at all).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?
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.
- xenos
- 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
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).