]> err.no Git - linux-2.6/commitdiff
[IA64] pv_ops: fix ivt.S paravirtualization
authorIsaku Yamahata <yamahata@valinux.co.jp>
Mon, 4 Aug 2008 03:02:28 +0000 (12:02 +0900)
committerTony Luck <tony.luck@intel.com>
Mon, 4 Aug 2008 17:52:12 +0000 (10:52 -0700)
Recent kernels are not booting on some HP systems (though
it does boot on others). James and Willy reported the
problem.  James did the bisection to find the commit
that caused the problem:
498c5170472ff0c03a29d22dbd33225a0be038f4.
[IA64] pvops: paravirtualize ivt.S

Two instructions were wrongly paravirtualized such that
_FROM_ macro had been used where _TO_ was intended

Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: "Wilcox, Matthew R" <matthew.r.wilcox@intel.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/ivt.S

index c39627df3cde294650f95e1a4e44e65c8cbbc337..416a952b19bde4eb1685f96c1ef30e43e485989c 100644 (file)
@@ -1243,11 +1243,11 @@ ENTRY(speculation_vector)
 
        add r17=r17,r18                 // now add the offset
        ;;
-       MOV_FROM_IIP(r17)
+       MOV_TO_IIP(r17, r19)
        dep r16=0,r16,41,2              // clear EI
        ;;
 
-       MOV_FROM_IPSR(p0, r16)
+       MOV_TO_IPSR(p0, r16, r19)
        ;;
 
        RFI