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.