aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/vpic.c
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-03-16 16:19:35 +0000
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-03-16 16:19:35 +0000
commit67cfa18d933ffe4886941a3b7ac0459174fc1246 (patch)
tree849a9762e049fcdddbce09addf0da322de6d79b9 /xen/arch/x86/hvm/vpic.c
parentfbf7473b3a74f449736ec58e9dce5dda2ef8bc9d (diff)
downloadxen-67cfa18d933ffe4886941a3b7ac0459174fc1246.tar.gz
xen-67cfa18d933ffe4886941a3b7ac0459174fc1246.tar.bz2
xen-67cfa18d933ffe4886941a3b7ac0459174fc1246.zip
hvm vpic: Fix IRQ priority calculation in 8259 device model.
The priority shift should be a right-rotation, not a left-rotation. From: Trolle Selander <trolle.selander@gmail.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/hvm/vpic.c')
-rw-r--r--xen/arch/x86/hvm/vpic.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c
index 3a5b2a16a8..5dfe1e4a6b 100644
--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -54,8 +54,8 @@ static int vpic_get_priority(struct hvm_hw_vpic *vpic, uint8_t mask)
if ( mask == 0 )
return VPIC_PRIO_NONE;
- /* prio = ffs(mask ROL vpic->priority_add); */
- asm ( "rol %%cl,%b1 ; bsf %1,%0"
+ /* prio = ffs(mask ROR vpic->priority_add); */
+ asm ( "ror %%cl,%b1 ; bsf %1,%0"
: "=r" (prio) : "r" ((uint32_t)mask), "c" (vpic->priority_add) );
return prio;
}