Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[IA64] pv_ops: fix ivt.S paravirtualization

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>

authored by

Isaku Yamahata and committed by
Tony Luck
9b3cbf72 8f616cd5

+2 -2
+2 -2
arch/ia64/kernel/ivt.S
··· 1243 1243 1244 1244 add r17=r17,r18 // now add the offset 1245 1245 ;; 1246 - MOV_FROM_IIP(r17) 1246 + MOV_TO_IIP(r17, r19) 1247 1247 dep r16=0,r16,41,2 // clear EI 1248 1248 ;; 1249 1249 1250 - MOV_FROM_IPSR(p0, r16) 1250 + MOV_TO_IPSR(p0, r16, r19) 1251 1251 ;; 1252 1252 1253 1253 RFI