mirror of https://github.com/xemu-project/xemu.git
kvmvapic: Simplify mp/up_set_tpr
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 <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
e5ad936b0f
commit
1189aa519c
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue