qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 6/8] kvmvapic: Simplify mp/up_set_tpr


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH v2 6/8] kvmvapic: Simplify mp/up_set_tpr
Date: Fri, 10 Feb 2012 19:31:21 +0100

The CH registers is only written, never read. So we can remove these
operations and, in case of up_set_tpr, also the ECX push/pop.

Signed-off-by: Jan Kiszka <address@hidden>
---
 pc-bios/optionrom/kvmvapic.S |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/pc-bios/optionrom/kvmvapic.S b/pc-bios/optionrom/kvmvapic.S
index e1d8f18..856c1e5 100644
--- a/pc-bios/optionrom/kvmvapic.S
+++ b/pc-bios/optionrom/kvmvapic.S
@@ -202,7 +202,6 @@ mp_isr_is_bigger:
        mov %bh, %bl
 mp_tpr_is_bigger:
        /* %bl = ppr */
-       mov %bl, %ch   /* ch = ppr */
        rol $8, %ebx
        /* now: %bl = irr, %bh = ppr */
        cmp %bh, %bl
@@ -276,7 +275,6 @@ up_set_tpr_eax:
 up_set_tpr:
        pushf
        push %eax
-       push %ecx
        push %ebx
        reenable_vtpr
 
@@ -284,7 +282,7 @@ up_set_tpr_failed:
        mov vapic, %eax ; fixup
 
        mov %eax, %ebx
-       mov 20(%esp), %bl
+       mov 16(%esp), %bl
 
        /* %ebx = new vapic (%bl = tpr, %bh = isr, %b3 = irr) */
 
@@ -298,7 +296,6 @@ up_isr_is_bigger:
        mov %bh, %bl
 up_tpr_is_bigger:
        /* %bl = ppr */
-       mov %bl, %ch   /* ch = ppr */
        rol $8, %ebx
        /* now: %bl = irr, %bh = ppr */
        cmp %bh, %bl
@@ -306,7 +303,6 @@ up_tpr_is_bigger:
 
 up_set_tpr_out:
        pop %ebx
-       pop %ecx
        pop %eax
        popf
        ret $4
-- 
1.7.3.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]