These are some of the files essential to the perf_event_open()
system call on the ARM architecture.
Because glibc provides no wrapper for this function,
it must be called directly with syscall().
System calls are very dependent on architecture, both
in how they are invoked as well as what calls are available to be made.
The
include/linux/syscalls.h file provides architecture independent
forward declarations of all kernel system calls. This is the kernel's internal
interface to system call functions.
The
arch/arm/include/uapi/asm/unistd.h file provides ARM architecture
specific definitions of system call numbers.
The
arch/arm/kernel/entry-common.S file provides the ARM architecture specific entry point for system calls.
The
arch/arm/tools/syscall.tbl file
installs system call numbers and associated function addresses into the ARM hardware's system call table.
The
kernel/events/core.c file
defines the perf_event_open syscall.
The following file enables kernel modules to be loaded and unloaded dynamically on an online system.
The
kernel/module.c file
contains kernel code related to modules.
Of particular interest are the
delete_module
and
init_module
system call definitions provided in that file.