aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-02-17 18:31:22 +0100
committerAvi Kivity <avi@redhat.com>2012-02-18 12:16:01 +0200
commit501981126d0aaaa72f720edeee892b830cbe3e55 (patch)
treef23c2a5c73803051bee1be86fb1226aa45563a88
parent209ca750b9e1854fa8f63fae16aef15becb1cdea (diff)
kvmvapic: Use optionrom helpers
Use OPTION_ROM_START/END from the common header file, add comment to init code. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--pc-bios/optionrom/kvmvapic.S18
1 files changed, 8 insertions, 10 deletions
diff --git a/pc-bios/optionrom/kvmvapic.S b/pc-bios/optionrom/kvmvapic.S
index 856c1e519..aa17a402d 100644
--- a/pc-bios/optionrom/kvmvapic.S
+++ b/pc-bios/optionrom/kvmvapic.S
@@ -9,12 +9,10 @@
# option) any later version. See the COPYING file in the top-level directory.
#
- .text 0
- .code16
-.global _start
-_start:
- .short 0xaa55
- .byte (_end - _start) / 512
+#include "optionrom.h"
+
+OPTION_ROM_START
+
# clear vapic area: firmware load using rep insb may cause
# stale tpr/isr/irr data to corrupt the vapic area.
push %es
@@ -26,8 +24,11 @@ _start:
cld
rep stosw
pop %es
+
+ # announce presence to the hypervisor
mov $vapic_base, %ax
out %ax, $0x7e
+
lret
.code32
@@ -331,7 +332,4 @@ up_set_tpr_poll_irq:
vapic:
. = . + vapic_size
-.byte 0 # reserve space for signature
-.align 512, 0
-
-_end:
+OPTION_ROM_END