| /** |
| * @file daemon/liblegacy/opd_kernel.h |
| * Dealing with the kernel and kernel module samples |
| * |
| * @remark Copyright 2002 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author John Levon |
| * @author Philippe Elie |
| */ |
| |
| #ifndef OPD_KERNEL_H |
| #define OPD_KERNEL_H |
| |
| #include "op_types.h" |
| |
| struct opd_proc; |
| |
| /** |
| * opd_init_kernel_image - initialise the kernel image |
| */ |
| void opd_init_kernel_image(void); |
| |
| /** |
| * opd_parse_kernel_range - parse the kernel range values |
| */ |
| void opd_parse_kernel_range(char const * arg); |
| |
| /** |
| * opd_clear_module_info - clear kernel module information |
| * |
| * Clear and free all kernel module information and reset |
| * values. |
| */ |
| void opd_clear_module_info(void); |
| |
| /** |
| * opd_handle_kernel_sample - process a kernel sample |
| * @param eip EIP value of sample |
| * @param counter counter number |
| * |
| * Handle a sample in kernel address space or in a module. The sample is |
| * output to the relevant image file. |
| */ |
| void opd_handle_kernel_sample(unsigned long eip, u32 counter); |
| |
| /** |
| * opd_eip_is_kernel - is the sample from kernel/module space |
| * @param eip EIP value |
| * |
| * Returns %1 if eip is in the address space starting at |
| * kernel_start, %0 otherwise. |
| */ |
| int opd_eip_is_kernel(unsigned long eip); |
| |
| /** |
| * opd_add_kernel_map - add a module or kernel maps to a proc struct |
| * |
| * @param proc owning proc of the new mapping |
| * @param eip eip inside the new mapping |
| * |
| * We assume than eip >= kernel_start |
| * |
| */ |
| void opd_add_kernel_map(struct opd_proc * proc, unsigned long eip); |
| |
| #endif /* OPD_KERNEL_H */ |