diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-08-03 23:02:28 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-08-04 13:52:12 -0400 |
commit | 9b3cbf725fb98733976fd02e2e557f0ae3028df0 (patch) | |
tree | 7ebd5f36df50f953fa545f6d57a81227dad4c7a8 /arch/ia64 | |
parent | 8f616cd5249e03c9e1b371623d85e76d4b86bbc1 (diff) |
[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>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/ivt.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index c39627df3cde..416a952b19bd 100644 --- a/arch/ia64/kernel/ivt.S +++ b/arch/ia64/kernel/ivt.S | |||
@@ -1243,11 +1243,11 @@ ENTRY(speculation_vector) | |||
1243 | 1243 | ||
1244 | add r17=r17,r18 // now add the offset | 1244 | add r17=r17,r18 // now add the offset |
1245 | ;; | 1245 | ;; |
1246 | MOV_FROM_IIP(r17) | 1246 | MOV_TO_IIP(r17, r19) |
1247 | dep r16=0,r16,41,2 // clear EI | 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 | RFI | 1253 | RFI |