提交 d8748e73 编写于 作者: M Michal Simek

microblaze: Do not use r0_ram space for syscall debugging

Remove syscall counting space from r0_ram. Use special
syscall_debug_table pool for syscall statistic.
Signed-off-by: NMichal Simek <monstr@monstr.eu>
上级 495162df
......@@ -39,6 +39,15 @@
/* The offset of the struct pt_regs in a `state save frame' on the stack. */
#define PTO STATE_SAVE_ARG_SPACE /* 24 the space for args */
#ifdef DEBUG
/* Create space for syscalls counting. */
.section .data
.global syscall_debug_table
.align 4
syscall_debug_table:
.space (__NR_syscalls * 4)
#endif /* DEBUG */
#define C_ENTRY(name) .globl name; .align 4; name
/*
......@@ -371,10 +380,14 @@ C_ENTRY(_user_exception):
add r12, r12, r12;
#ifdef DEBUG
/* Trac syscalls and stored them to r0_ram */
lwi r3, r12, 0x400 + r0_ram
/* Trac syscalls and stored them to syscall_debug_table */
/* The first syscall location stores total syscall number */
lwi r3, r0, syscall_debug_table
addi r3, r3, 1
swi r3, r0, syscall_debug_table
lwi r3, r12, syscall_debug_table
addi r3, r3, 1
swi r3, r12, 0x400 + r0_ram
swi r3, r12, syscall_debug_table
#endif
# Find and jump into the syscall handler.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册