linuxboot: fix gdt address calculation
authorAvi Kivity <avi@redhat.com>
Thu, 24 Dec 2009 13:38:50 +0000 (15:38 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 8 Jan 2010 15:58:41 +0000 (09:58 -0600)
commita482f16058d1502189593b86447af222d6d58c9a
tree157fa2fc7a9f34a28c0f7405b700303be521d215
parent9a4115073b7398434e02d3c09e17b4314d790e1f
linuxboot: fix gdt address calculation

The gdt address calculation in linuxboot.bin is broken in two ways: first
it loads %cs into %eax, but that instruction leaves the high bits of %eax
undefined and we did not clear them.  Secondly, we completely ignore the
incorrect %eax, and use the undefined %ebx instead.

With these issues fixed, linuxboot works again.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pc-bios/optionrom/linuxboot.S