[PATCH] i386: add END()/ENDPROC() annotations to entry.S

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since END()/ENDPROC() are now available, add respective annotations to
i386's entry.S. This should help debugging activities.

Signed-off-by: Jan Beulich <[email protected]>

diff -Npru /home/jbeulich/tmp/linux-2.6.17-rc3/arch/i386/kernel/entry.S
2.6.17-rc3-i386-asm-types-sizes/arch/i386/kernel/entry.S
--- /home/jbeulich/tmp/linux-2.6.17-rc3/arch/i386/kernel/entry.S	2006-04-28 11:47:26.000000000 +0200
+++ 2.6.17-rc3-i386-asm-types-sizes/arch/i386/kernel/entry.S	2006-04-28 12:08:19.000000000 +0200
@@ -129,6 +129,7 @@ ENTRY(ret_from_fork)
 	GET_THREAD_INFO(%ebp)
 	popl %eax
 	jmp syscall_exit
+END(ret_from_fork)
 
 /*
  * Return to user mode is not as complex as all this looks,
@@ -156,6 +157,7 @@ ENTRY(resume_userspace)
 					# int/exception return?
 	jne work_pending
 	jmp restore_all
+END(ret_from_exception)
 
 #ifdef CONFIG_PREEMPT
 ENTRY(resume_kernel)
@@ -170,6 +172,7 @@ need_resched:
 	jz restore_all
 	call preempt_schedule_irq
 	jmp need_resched
+END(resume_kernel)
 #endif
 
 /* SYSENTER_RETURN points to after the "sysenter" instruction in
@@ -219,6 +222,7 @@ sysenter_past_esp:
 	xorl %ebp,%ebp
 	sti
 	sysexit
+ENDPROC(sysenter_entry)
 
 
 	# system call handler stub
@@ -272,6 +276,7 @@ iret_exc:
 	.align 4
 	.long 1b,iret_exc
 .previous
+ENDPROC(system_call)
 
 ldt_ss:
 	larl OLDSS(%esp), %eax
@@ -297,6 +302,7 @@ ldt_ss:
 	.align 4
 	.long 1b,iret_exc
 .previous
+END(ldt_ss)
 
 	# perform work that needs to be done immediately before resumption
 	ALIGN
@@ -336,6 +342,7 @@ work_notifysig_v86:
 	call do_notify_resume
 	jmp resume_userspace
 #endif
+END(work_pending)
 
 	# perform syscall exit tracing
 	ALIGN
@@ -351,6 +358,7 @@ syscall_trace_entry:
 	cmpl $(nr_syscalls), %eax
 	jnae syscall_call
 	jmp syscall_exit
+END(syscall_trace_entry)
 
 	# perform syscall exit tracing
 	ALIGN
@@ -363,6 +371,7 @@ syscall_exit_work:
 	movl $1, %edx
 	call do_syscall_trace
 	jmp resume_userspace
+END(syscall_exit_work)
 
 	ALIGN
 syscall_fault:
@@ -371,11 +380,13 @@ syscall_fault:
 	GET_THREAD_INFO(%ebp)
 	movl $-EFAULT,EAX(%esp)
 	jmp resume_userspace
+END(syscall_fault)
 
 	ALIGN
 syscall_badsys:
 	movl $-ENOSYS,EAX(%esp)
 	jmp resume_userspace
+END(syscall_badsys)
 
 #define FIXUP_ESPFIX_STACK \
 	movl %esp, %eax; \
@@ -417,6 +428,11 @@ ENTRY(irq_entries_start)
 .text
 vector=vector+1
 .endr
+END(irq_entries_start)
+
+.data
+END(interrupt)
+.text
 
 	ALIGN
 common_interrupt:
@@ -424,6 +440,7 @@ common_interrupt:
 	movl %esp,%eax
 	call do_IRQ
 	jmp ret_from_intr
+ENDPROC(common_interrupt)
 
 #define BUILD_INTERRUPT(name, nr)	\
 ENTRY(name)				\
@@ -431,7 +448,8 @@ ENTRY(name)				\
 	SAVE_ALL			\
 	movl %esp,%eax;			\
 	call smp_/**/name;		\
-	jmp ret_from_intr;
+	jmp ret_from_intr;		\
+ENDPROC(name)
 
 /* The include is where all of the SMP etc. interrupts come from */
 #include "entry_arch.h"
@@ -439,6 +457,7 @@ ENTRY(name)				\
 ENTRY(divide_error)
 	pushl $0			# no error code
 	pushl $do_divide_error
+END(divide_error)
 	ALIGN
 error_code:
 	pushl %ds
@@ -465,16 +484,19 @@ error_code:
 	movl %esp,%eax			# pt_regs pointer
 	call *%edi
 	jmp ret_from_exception
+ENDPROC(error_code)
 
 ENTRY(coprocessor_error)
 	pushl $0
 	pushl $do_coprocessor_error
 	jmp error_code
+END(coprocessor_error)
 
 ENTRY(simd_coprocessor_error)
 	pushl $0
 	pushl $do_simd_coprocessor_error
 	jmp error_code
+END(simd_coprocessor_error)
 
 ENTRY(device_not_available)
 	pushl $-1			# mark this as an int
@@ -490,6 +512,7 @@ device_not_available_emulate:
 	call math_emulate
 	addl $4, %esp
 	jmp ret_from_exception
+END(device_not_available)
 
 /*
  * Debug traps and NMI can happen at the one SYSENTER instruction
@@ -524,6 +547,7 @@ debug_stack_correct:
 	movl %esp,%eax			# pt_regs pointer
 	call do_debug
 	jmp ret_from_exception
+END(debug)
 	.previous .text
 /*
  * NMI is doubly nasty. It can happen _while_ we're handling
@@ -595,6 +619,7 @@ nmi_16bit_stack:
 	.align 4
 	.long 1b,iret_exc
 .previous
+ENDPROC(nmi)
 
 KPROBE_ENTRY(int3)
 	pushl $-1			# mark this as an int
@@ -603,52 +628,63 @@ KPROBE_ENTRY(int3)
 	movl %esp,%eax		# pt_regs pointer
 	call do_int3
 	jmp ret_from_exception
+END(int3)
 	.previous .text
 
 ENTRY(overflow)
 	pushl $0
 	pushl $do_overflow
 	jmp error_code
+END(overflow)
 
 ENTRY(bounds)
 	pushl $0
 	pushl $do_bounds
 	jmp error_code
+END(bounds)
 
 ENTRY(invalid_op)
 	pushl $0
 	pushl $do_invalid_op
 	jmp error_code
+END(invalid_op)
 
 ENTRY(coprocessor_segment_overrun)
 	pushl $0
 	pushl $do_coprocessor_segment_overrun
 	jmp error_code
+END(coprocessor_segment_overrun)
 
 ENTRY(invalid_TSS)
 	pushl $do_invalid_TSS
 	jmp error_code
+END(invalid_TSS)
 
 ENTRY(segment_not_present)
 	pushl $do_segment_not_present
 	jmp error_code
+END(segment_not_present)
 
 ENTRY(stack_segment)
 	pushl $do_stack_segment
 	jmp error_code
+END(stack_segment)
 
 KPROBE_ENTRY(general_protection)
 	pushl $do_general_protection
 	jmp error_code
+END(general_protection)
 	.previous .text
 
 ENTRY(alignment_check)
 	pushl $do_alignment_check
 	jmp error_code
+END(alignment_check)
 
 KPROBE_ENTRY(page_fault)
 	pushl $do_page_fault
 	jmp error_code
+END(page_fault)
 	.previous .text
 
 #ifdef CONFIG_X86_MCE
@@ -656,12 +692,14 @@ ENTRY(machine_check)
 	pushl $0
 	pushl machine_check_vector
 	jmp error_code
+END(machine_check)
 #endif
 
 ENTRY(spurious_interrupt_bug)
 	pushl $0
 	pushl $do_spurious_interrupt_bug
 	jmp error_code
+END(spurious_interrupt_bug)
 
 .section .rodata,"a"
 #include "syscall_table.S"
diff -Npru /home/jbeulich/tmp/linux-2.6.17-rc3/arch/i386/kernel/syscall_table.S
2.6.17-rc3-i386-asm-types-sizes/arch/i386/kernel/syscall_table.S
--- /home/jbeulich/tmp/linux-2.6.17-rc3/arch/i386/kernel/syscall_table.S	2006-04-28 11:47:26.000000000 +0200
+++ 2.6.17-rc3-i386-asm-types-sizes/arch/i386/kernel/syscall_table.S	2006-04-28 12:08:59.000000000 +0200
@@ -315,3 +315,4 @@ ENTRY(sys_call_table)
 	.long sys_splice
 	.long sys_sync_file_range
 	.long sys_tee			/* 315 */
+END(sys_call_table)


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux