Rev 5270 | Rev 6934 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | # define _ASM_NOKPROBE(entry) \ |
61 | # define _ASM_NOKPROBE(entry) \ |
62 | .pushsection "_kprobe_blacklist","aw" ; \ |
62 | .pushsection "_kprobe_blacklist","aw" ; \ |
63 | _ASM_ALIGN ; \ |
63 | _ASM_ALIGN ; \ |
64 | _ASM_PTR (entry); \ |
64 | _ASM_PTR (entry); \ |
65 | .popsection |
65 | .popsection |
- | 66 | ||
- | 67 | .macro ALIGN_DESTINATION |
|
- | 68 | /* check for bad alignment of destination */ |
|
- | 69 | movl %edi,%ecx |
|
- | 70 | andl $7,%ecx |
|
- | 71 | jz 102f /* already aligned */ |
|
- | 72 | subl $8,%ecx |
|
- | 73 | negl %ecx |
|
- | 74 | subl %ecx,%edx |
|
- | 75 | 100: movb (%rsi),%al |
|
- | 76 | 101: movb %al,(%rdi) |
|
- | 77 | incq %rsi |
|
- | 78 | incq %rdi |
|
- | 79 | decl %ecx |
|
- | 80 | jnz 100b |
|
- | 81 | 102: |
|
- | 82 | .section .fixup,"ax" |
|
- | 83 | 103: addl %ecx,%edx /* ecx is zerorest also */ |
|
- | 84 | jmp copy_user_handle_tail |
|
- | 85 | .previous |
|
- | 86 | ||
- | 87 | _ASM_EXTABLE(100b,103b) |
|
- | 88 | _ASM_EXTABLE(101b,103b) |
|
- | 89 | .endm |
|
- | 90 | ||
66 | #else |
91 | #else |
67 | # define _ASM_EXTABLE(from,to) \ |
92 | # define _ASM_EXTABLE(from,to) \ |
68 | " .pushsection \"__ex_table\",\"a\"\n" \ |
93 | " .pushsection \"__ex_table\",\"a\"\n" \ |
69 | " .balign 8\n" \ |
94 | " .balign 8\n" \ |
70 | " .long (" #from ") - .\n" \ |
95 | " .long (" #from ") - .\n" \ |