aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2014-06-25 09:11:22 -0400
committerIngo Molnar <mingo@kernel.org>2014-07-16 09:23:06 -0400
commit3bab13b015a255b4b812c02670384d7d99a9ca34 (patch)
treea7b44400b5da69416c0649c7e822d73ed06de4db
parent1795cd9b3a91d4b5473c97f491d63892442212ab (diff)
x86/debug: Drop several unnecessary CFI annotations
With the conversion of the register saving code from macros to functions, and with those functions not clobbering most of the registers they spill, there's no need to annotate most of the spill operations; the only exceptions being %rbx (always modified) and %rcx (modified on the error_kernelspace: path). Also remove a bogus commented out annotation - there's no register %orig_rax after all. Signed-off-by: Jan Beulich <jbeulich@suse.com> Link: http://lkml.kernel.org/r/53AAE69A020000780001D3C7@mail.emea.novell.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/x86/kernel/entry_64.S52
1 files changed, 26 insertions, 26 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index b25ca969edd2..f72c03a1ac54 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -207,7 +207,6 @@ ENDPROC(native_usergs_sysret64)
207 */ 207 */
208 .macro XCPT_FRAME start=1 offset=0 208 .macro XCPT_FRAME start=1 offset=0
209 INTR_FRAME \start, RIP+\offset-ORIG_RAX 209 INTR_FRAME \start, RIP+\offset-ORIG_RAX
210 /*CFI_REL_OFFSET orig_rax, ORIG_RAX-ORIG_RAX*/
211 .endm 210 .endm
212 211
213/* 212/*
@@ -287,21 +286,21 @@ ENDPROC(native_usergs_sysret64)
287ENTRY(save_paranoid) 286ENTRY(save_paranoid)
288 XCPT_FRAME 1 RDI+8 287 XCPT_FRAME 1 RDI+8
289 cld 288 cld
290 movq_cfi rdi, RDI+8 289 movq %rdi, RDI+8(%rsp)
291 movq_cfi rsi, RSI+8 290 movq %rsi, RSI+8(%rsp)
292 movq_cfi rdx, RDX+8 291 movq_cfi rdx, RDX+8
293 movq_cfi rcx, RCX+8 292 movq_cfi rcx, RCX+8
294 movq_cfi rax, RAX+8 293 movq_cfi rax, RAX+8
295 movq_cfi r8, R8+8 294 movq %r8, R8+8(%rsp)
296 movq_cfi r9, R9+8 295 movq %r9, R9+8(%rsp)
297 movq_cfi r10, R10+8 296 movq %r10, R10+8(%rsp)
298 movq_cfi r11, R11+8 297 movq %r11, R11+8(%rsp)
299 movq_cfi rbx, RBX+8 298 movq_cfi rbx, RBX+8
300 movq_cfi rbp, RBP+8 299 movq %rbp, RBP+8(%rsp)
301 movq_cfi r12, R12+8 300 movq %r12, R12+8(%rsp)
302 movq_cfi r13, R13+8 301 movq %r13, R13+8(%rsp)
303 movq_cfi r14, R14+8 302 movq %r14, R14+8(%rsp)
304 movq_cfi r15, R15+8 303 movq %r15, R15+8(%rsp)
305 movl $1,%ebx 304 movl $1,%ebx
306 movl $MSR_GS_BASE,%ecx 305 movl $MSR_GS_BASE,%ecx
307 rdmsr 306 rdmsr
@@ -1395,21 +1394,21 @@ ENTRY(error_entry)
1395 CFI_ADJUST_CFA_OFFSET 15*8 1394 CFI_ADJUST_CFA_OFFSET 15*8
1396 /* oldrax contains error code */ 1395 /* oldrax contains error code */
1397 cld 1396 cld
1398 movq_cfi rdi, RDI+8 1397 movq %rdi, RDI+8(%rsp)
1399 movq_cfi rsi, RSI+8 1398 movq %rsi, RSI+8(%rsp)
1400 movq_cfi rdx, RDX+8 1399 movq %rdx, RDX+8(%rsp)
1401 movq_cfi rcx, RCX+8 1400 movq %rcx, RCX+8(%rsp)
1402 movq_cfi rax, RAX+8 1401 movq %rax, RAX+8(%rsp)
1403 movq_cfi r8, R8+8 1402 movq %r8, R8+8(%rsp)
1404 movq_cfi r9, R9+8 1403 movq %r9, R9+8(%rsp)
1405 movq_cfi r10, R10+8 1404 movq %r10, R10+8(%rsp)
1406 movq_cfi r11, R11+8 1405 movq %r11, R11+8(%rsp)
1407 movq_cfi rbx, RBX+8 1406 movq_cfi rbx, RBX+8
1408 movq_cfi rbp, RBP+8 1407 movq %rbp, RBP+8(%rsp)
1409 movq_cfi r12, R12+8 1408 movq %r12, R12+8(%rsp)
1410 movq_cfi r13, R13+8 1409 movq %r13, R13+8(%rsp)
1411 movq_cfi r14, R14+8 1410 movq %r14, R14+8(%rsp)
1412 movq_cfi r15, R15+8 1411 movq %r15, R15+8(%rsp)
1413 xorl %ebx,%ebx 1412 xorl %ebx,%ebx
1414 testl $3,CS+8(%rsp) 1413 testl $3,CS+8(%rsp)
1415 je error_kernelspace 1414 je error_kernelspace
@@ -1427,6 +1426,7 @@ error_sti:
1427 * compat mode. Check for these here too. 1426 * compat mode. Check for these here too.
1428 */ 1427 */
1429error_kernelspace: 1428error_kernelspace:
1429 CFI_REL_OFFSET rcx, RCX+8
1430 incl %ebx 1430 incl %ebx
1431 leaq irq_return_iret(%rip),%rcx 1431 leaq irq_return_iret(%rip),%rcx
1432 cmpq %rcx,RIP+8(%rsp) 1432 cmpq %rcx,RIP+8(%rsp)