diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2012-03-05 09:25:12 +0200 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2012-03-16 19:34:14 +0100 |
commit | 7863015c3eabe94c360ff893723f48af23a47a33 (patch) | |
tree | 90a86cfbee75d7cd3cb51c11936c79d30786d161 /src/arch/x86 | |
parent | 5750ed253a6ed45e574a8855a7b7b1abe16eae88 (diff) |
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-on: http://review.coreboot.org/707
Tested-by: build bot (Jenkins)
Reviewed-by: Idwer Vollering <vidwer@gmail.com>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'src/arch/x86')
0 files changed, 0 insertions, 0 deletions