the following patch was just integrated into master: commit a07402308b2c0060a15b4d97cdcbe0370ef3af41 Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Mon Mar 5 09:25:12 2012 +0200
Fix address of IDT in real-mode entry
In a case of CS & 0x0fff != 0x0, lidt memory operand does not point to nullidt, this can raise an exception and shutdown the CPU.
When an AP CPU receives 8-bit Start-Up IPI vector yzH, it starts execute at physical address 000yz000H. Seems this translates to either yz00:0000 or y000:z000 (CS:IP), depending of the CPU model. With the change entry16.inc is relocatable as the commentary suggests and can be used as ap_sipi_vector on SMP systems.
Change-Id: I885a2888179700ba6e2b11d4f2d6a64ddea4c2dc Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com
Reviewed-By: Patrick Georgi patrick@georgi-clan.de at Fri Mar 16 19:32:41 2012, giving +2 See http://review.coreboot.org/707 for details.
-gerrit