mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
d207ea8e74
Pull perf updates from Thomas Gleixner: "Kernel: - Improve kallsyms coverage - Add x86 entry trampolines to kcore - Fix ARM SPE handling - Correct PPC event post processing Tools: - Make the build system more robust - Small fixes and enhancements all over the place - Update kernel ABI header copies - Preparatory work for converting libtraceevnt to a shared library - License cleanups" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits) tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' tools arch x86: Update tools's copy of cpufeatures.h perf python: Fix pyrf_evlist__read_on_cpu() interface perf mmap: Store real cpu number in 'struct perf_mmap' perf tools: Remove ext from struct kmod_path perf tools: Add gzip_is_compressed function perf tools: Add lzma_is_compressed function perf tools: Add is_compressed callback to compressions array perf tools: Move the temp file processing into decompress_kmodule perf tools: Use compression id in decompress_kmodule() perf tools: Store compression id into struct dso perf tools: Add compression id into 'struct kmod_path' perf tools: Make is_supported_compression() static perf tools: Make decompress_to_file() function static perf tools: Get rid of dso__needs_decompress() call in __open_dso() perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble() perf tools: Get rid of dso__needs_decompress() call in read_object_code() tools lib traceevent: Change to SPDX License format perf llvm: Allow passing options to llc in addition to clang perf parser: Improve error message for PMU address filters ...
59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* /proc/kcore definitions
|
|
*/
|
|
#ifndef _LINUX_KCORE_H
|
|
#define _LINUX_KCORE_H
|
|
|
|
enum kcore_type {
|
|
KCORE_TEXT,
|
|
KCORE_VMALLOC,
|
|
KCORE_RAM,
|
|
KCORE_VMEMMAP,
|
|
KCORE_USER,
|
|
KCORE_OTHER,
|
|
KCORE_REMAP,
|
|
};
|
|
|
|
struct kcore_list {
|
|
struct list_head list;
|
|
unsigned long addr;
|
|
unsigned long vaddr;
|
|
size_t size;
|
|
int type;
|
|
};
|
|
|
|
struct vmcore {
|
|
struct list_head list;
|
|
unsigned long long paddr;
|
|
unsigned long long size;
|
|
loff_t offset;
|
|
};
|
|
|
|
struct vmcoredd_node {
|
|
struct list_head list; /* List of dumps */
|
|
void *buf; /* Buffer containing device's dump */
|
|
unsigned int size; /* Size of the buffer */
|
|
};
|
|
|
|
#ifdef CONFIG_PROC_KCORE
|
|
void __init kclist_add(struct kcore_list *, void *, size_t, int type);
|
|
static inline
|
|
void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz)
|
|
{
|
|
m->vaddr = (unsigned long)vaddr;
|
|
kclist_add(m, addr, sz, KCORE_REMAP);
|
|
}
|
|
#else
|
|
static inline
|
|
void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
|
|
{
|
|
}
|
|
|
|
static inline
|
|
void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#endif /* _LINUX_KCORE_H */
|