debug: generate list of syscall names

This commit is contained in:
Anna Lyons 2016-10-18 14:05:01 +11:00
parent 4f2123b763
commit 3a185a5c32
2 changed files with 13 additions and 1 deletions

View file

@ -44,7 +44,7 @@ debug_printKernelEntryReason(void)
break;
#endif
case Entry_Syscall:
printf("Syscall, number: %ld\n", (long) ksKernelEntry.syscall_no);
printf("Syscall, number: %ld, %s\n", (long) ksKernelEntry.syscall_no, syscall_names[ksKernelEntry.syscall_no]);
if (ksKernelEntry.syscall_no == SysSend ||
ksKernelEntry.syscall_no == SysNBSend ||
ksKernelEntry.syscall_no == SysCall) {

View file

@ -68,6 +68,18 @@ enum syscall {
};
typedef word_t syscall_t;
/* System call names */
#ifdef CONFIG_DEBUG_BUILD
static char *syscall_names[] = {
{{py:syscall_number = 1}}
{{for condition, list in assembler}}
{{for syscall in list}}
[{{syscall_number}}] = "{{syscall}}",
{{py:syscall_number += 1}}
{{endfor}}
{{endfor}}
};
#endif /* CONFIG_DEBUG_BUILD */
#endif
#endif /* __ARCH_API_SYSCALL_H */