Skip to content

Commit

Permalink
powerpc: Fix VMX in interrupt check in POWER7 copy loops
Browse files Browse the repository at this point in the history
The enhanced prefetch hint patches corrupt the condition register
that was used to check if we are in interrupt. Fix this by using cr1.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Anton Blanchard authored and Benjamin Herrenschmidt committed Aug 24, 2012
1 parent dad477c commit 2fae7cd
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions arch/powerpc/lib/copyuser_power7.S
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ err1; stb r0,0(r3)
std r0,16(r1)
stdu r1,-STACKFRAMESIZE(r1)
bl .enter_vmx_usercopy
cmpwi r3,0
cmpwi cr1,r3,0
ld r0,STACKFRAMESIZE+16(r1)
ld r3,STACKFRAMESIZE+48(r1)
ld r4,STACKFRAMESIZE+56(r1)
Expand Down Expand Up @@ -326,7 +326,7 @@ err1; stb r0,0(r3)
dcbt r0,r8,0b01010 /* GO */
.machine pop

beq .Lunwind_stack_nonvmx_copy
beq cr1,.Lunwind_stack_nonvmx_copy

/*
* If source and destination are not relatively aligned we use a
Expand Down
4 changes: 2 additions & 2 deletions arch/powerpc/lib/memcpy_power7.S
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ _GLOBAL(memcpy_power7)
std r0,16(r1)
stdu r1,-STACKFRAMESIZE(r1)
bl .enter_vmx_copy
cmpwi r3,0
cmpwi cr1,r3,0
ld r0,STACKFRAMESIZE+16(r1)
ld r3,STACKFRAMESIZE+48(r1)
ld r4,STACKFRAMESIZE+56(r1)
Expand Down Expand Up @@ -260,7 +260,7 @@ _GLOBAL(memcpy_power7)
dcbt r0,r8,0b01010 /* GO */
.machine pop

beq .Lunwind_stack_nonvmx_copy
beq cr1,.Lunwind_stack_nonvmx_copy

/*
* If source and destination are not relatively aligned we use a
Expand Down

0 comments on commit 2fae7cd

Please sign in to comment.