diff options
Diffstat (limited to 'arch/x86/kernel/relocate_kernel_32.S')
-rw-r--r-- | arch/x86/kernel/relocate_kernel_32.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/relocate_kernel_32.S b/arch/x86/kernel/relocate_kernel_32.S index e13f8e7c22a6..77630d57e7bf 100644 --- a/arch/x86/kernel/relocate_kernel_32.S +++ b/arch/x86/kernel/relocate_kernel_32.S | |||
@@ -226,23 +226,23 @@ swap_pages: | |||
226 | movl (%ebx), %ecx | 226 | movl (%ebx), %ecx |
227 | addl $4, %ebx | 227 | addl $4, %ebx |
228 | 1: | 228 | 1: |
229 | testl $0x1, %ecx /* is it a destination page */ | 229 | testb $0x1, %cl /* is it a destination page */ |
230 | jz 2f | 230 | jz 2f |
231 | movl %ecx, %edi | 231 | movl %ecx, %edi |
232 | andl $0xfffff000, %edi | 232 | andl $0xfffff000, %edi |
233 | jmp 0b | 233 | jmp 0b |
234 | 2: | 234 | 2: |
235 | testl $0x2, %ecx /* is it an indirection page */ | 235 | testb $0x2, %cl /* is it an indirection page */ |
236 | jz 2f | 236 | jz 2f |
237 | movl %ecx, %ebx | 237 | movl %ecx, %ebx |
238 | andl $0xfffff000, %ebx | 238 | andl $0xfffff000, %ebx |
239 | jmp 0b | 239 | jmp 0b |
240 | 2: | 240 | 2: |
241 | testl $0x4, %ecx /* is it the done indicator */ | 241 | testb $0x4, %cl /* is it the done indicator */ |
242 | jz 2f | 242 | jz 2f |
243 | jmp 3f | 243 | jmp 3f |
244 | 2: | 244 | 2: |
245 | testl $0x8, %ecx /* is it the source indicator */ | 245 | testb $0x8, %cl /* is it the source indicator */ |
246 | jz 0b /* Ignore it otherwise */ | 246 | jz 0b /* Ignore it otherwise */ |
247 | movl %ecx, %esi /* For every source page do a copy */ | 247 | movl %ecx, %esi /* For every source page do a copy */ |
248 | andl $0xfffff000, %esi | 248 | andl $0xfffff000, %esi |