linuxboot: fix gdt address calculation
commit4ee3835fef6489e03c43b758b67fe0f522de1b02
authorAvi Kivity <avi@redhat.com>
Thu, 24 Dec 2009 13:38:50 +0000 (24 15:38 +0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 24 Dec 2009 14:33:37 +0000 (24 12:33 -0200)
treeb31a3f9a4a3faef1096bb3248c91ffcee703d1df
parentd1a1178b6b4d1fd9cad0986406fa662270cf2b6e
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: Marcelo Tosatti <mtosatti@redhat.com>
pc-bios/optionrom/linuxboot.S