added 1 changeset to branch 'refs/remotes/xyzzy-github/x86_64' old head: 666b46e2e3260e85ca6af913a73e75df9a24ab27 new head: 02dd3236d21fd322310a1f791bab69d7bc031434 ---------------------------------------------------------------------------- 02dd323: Better names for syscall/signal functions copied to the commpage. [ Alex Smith <alex@xxxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- Commit: 02dd3236d21fd322310a1f791bab69d7bc031434 Author: Alex Smith <alex@xxxxxxxxxxxxxxxx> Date: Mon Jul 30 20:56:50 2012 UTC ---------------------------------------------------------------------------- 4 files changed, 21 insertions(+), 21 deletions(-) src/system/kernel/arch/x86/32/syscalls.cpp | 16 ++++++++-------- src/system/kernel/arch/x86/32/syscalls_asm.S | 12 ++++++------ src/system/kernel/arch/x86/64/signals.cpp | 8 ++++---- src/system/kernel/arch/x86/64/signals_asm.S | 6 +++--- ---------------------------------------------------------------------------- diff --git a/src/system/kernel/arch/x86/32/syscalls.cpp b/src/system/kernel/arch/x86/32/syscalls.cpp index 3b3ffed..f0c9b7c 100644 --- a/src/system/kernel/arch/x86/32/syscalls.cpp +++ b/src/system/kernel/arch/x86/32/syscalls.cpp @@ -18,10 +18,10 @@ // user syscall assembly stubs -extern "C" void _user_syscall_int(void); -extern unsigned int _user_syscall_int_end; -extern "C" void _user_syscall_sysenter(void); -extern unsigned int _user_syscall_sysenter_end; +extern "C" void x86_user_syscall_int(void); +extern unsigned int x86_user_syscall_int_end; +extern "C" void x86_user_syscall_sysenter(void); +extern unsigned int x86_user_syscall_sysenter_end; // sysenter handler extern "C" void x86_sysenter(); @@ -78,8 +78,8 @@ init_amd_syscall_registers(void* dummy, int cpuNum) void x86_initialize_syscall(void) { - void* syscallCode = (void *)&_user_syscall_int; - void* syscallCodeEnd = &_user_syscall_int_end; + void* syscallCode = (void *)&x86_user_syscall_int; + void* syscallCodeEnd = &x86_user_syscall_int_end; // check syscall if (all_cpus_have_feature(FEATURE_COMMON, IA32_FEATURE_SEP) @@ -89,8 +89,8 @@ x86_initialize_syscall(void) dprintf("initialize_commpage_syscall(): sysenter/sysexit supported\n"); // the code to be used in userland - syscallCode = (void *)&_user_syscall_sysenter; - syscallCodeEnd = &_user_syscall_sysenter_end; + syscallCode = (void *)&x86_user_syscall_sysenter; + syscallCodeEnd = &x86_user_syscall_sysenter_end; // tell all CPUs to init their sysenter/sysexit related registers call_all_cpus_sync(&init_intel_syscall_registers, NULL); diff --git a/src/system/kernel/arch/x86/32/syscalls_asm.S b/src/system/kernel/arch/x86/32/syscalls_asm.S index b4400ca..ef8b1e5 100644 --- a/src/system/kernel/arch/x86/32/syscalls_asm.S +++ b/src/system/kernel/arch/x86/32/syscalls_asm.S @@ -11,21 +11,21 @@ /* user space half of the syscall mechanism, to be copied into the commpage */ // int 99 fallback -FUNCTION(_user_syscall_int): +FUNCTION(x86_user_syscall_int): int $99 ret -FUNCTION_END(_user_syscall_int) -SYMBOL(_user_syscall_int_end): +FUNCTION_END(x86_user_syscall_int) +SYMBOL(x86_user_syscall_int_end): // Intel sysenter/sysexit -FUNCTION(_user_syscall_sysenter): +FUNCTION(x86_user_syscall_sysenter): // sysexit forces us to trash edx (-> eip) and ecx (-> esp), but they are // scratch registers anyway. We use ecx right away to store esp. movl %esp, %ecx sysenter ret -FUNCTION_END(_user_syscall_sysenter) -SYMBOL(_user_syscall_sysenter_end): +FUNCTION_END(x86_user_syscall_sysenter) +SYMBOL(x86_user_syscall_sysenter_end): diff --git a/src/system/kernel/arch/x86/64/signals.cpp b/src/system/kernel/arch/x86/64/signals.cpp index b8a29f1..947e76f 100644 --- a/src/system/kernel/arch/x86/64/signals.cpp +++ b/src/system/kernel/arch/x86/64/signals.cpp @@ -16,15 +16,15 @@ #include <smp.h> -extern "C" void _user_signal_handler(void); -extern int _user_signal_handler_end; +extern "C" void x86_64_user_signal_handler(void); +extern int x86_64_user_signal_handler_end; void x86_initialize_commpage_signal_handler() { - void* handlerCode = (void*)&_user_signal_handler; - void* handlerCodeEnd = &_user_signal_handler_end; + void* handlerCode = (void*)&x86_64_user_signal_handler; + void* handlerCodeEnd = &x86_64_user_signal_handler_end; // Copy the signal handler code to the commpage. size_t len = (size_t)((addr_t)handlerCodeEnd - (addr_t)handlerCode); diff --git a/src/system/kernel/arch/x86/64/signals_asm.S b/src/system/kernel/arch/x86/64/signals_asm.S index 078a4c1..5d85022 100644 --- a/src/system/kernel/arch/x86/64/signals_asm.S +++ b/src/system/kernel/arch/x86/64/signals_asm.S @@ -14,7 +14,7 @@ // Userspace signal handler wrapper, copied to the commpage. -FUNCTION(_user_signal_handler): +FUNCTION(x86_64_user_signal_handler): push %rbp movq %rsp, %rbp @@ -52,5 +52,5 @@ FUNCTION(_user_signal_handler): leaq SIGNAL_FRAME_DATA_context(%r12), %rdx movq SIGNAL_FRAME_DATA_user_data(%r12), %rcx jmp .Lcall_handler -FUNCTION_END(_user_signal_handler) -SYMBOL(_user_signal_handler_end): +FUNCTION_END(x86_64_user_signal_handler) +SYMBOL(x86_64_user_signal_handler_end):