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 ...
Showing the changes to include/linux (1 of 93 files). Show all
Unified · Split
| @@ -12,11 +12,13 @@ enum kcore_type { · 11 unmodified lines | |||
| 12 | KCORE_VMEMMAP, | 12 | KCORE_VMEMMAP, |
| 13 | KCORE_USER, | 13 | KCORE_USER, |
| 14 | KCORE_OTHER, | 14 | KCORE_OTHER, |
| 15 | KCORE_REMAP, | ||
| 15 | }; | 16 | }; |
| 16 | 17 | ||
| 17 | struct kcore_list { | 18 | struct kcore_list { |
| 18 | struct list_head list; | 19 | struct list_head list; |
| 19 | unsigned long addr; | 20 | unsigned long addr; |
| 21 | unsigned long vaddr; | ||
| 20 | size_t size; | 22 | size_t size; |
| 21 | int type; | 23 | int type; |
| 22 | }; | 24 | }; |
| @@ -36,11 +38,22 @@ struct vmcoredd_node { · 13 unmodified lines | |||
| 36 | 38 | ||
| 37 | #ifdef CONFIG_PROC_KCORE | 39 | #ifdef CONFIG_PROC_KCORE |
| 38 | void __init kclist_add(struct kcore_list *, void *, size_t, int type); | 40 | void __init kclist_add(struct kcore_list *, void *, size_t, int type); |
| 41 | static inline | ||
| 42 | void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz) | ||
| 43 | { | ||
| 44 | m->vaddr = (unsigned long)vaddr; | ||
| 45 | kclist_add(m, addr, sz, KCORE_REMAP); | ||
| 46 | } | ||
| 39 | #else | 47 | #else |
| 40 | static inline | 48 | static inline |
| 41 | void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) | 49 | void kclist_add(struct kcore_list *new, void *addr, size_t size, int type) |
| 42 | { | 50 | { |
| 43 | } | 51 | } |
| 52 | |||
| 53 | static inline | ||
| 54 | void kclist_add_remap(struct kcore_list *m, void *addr, void *vaddr, size_t sz) | ||
| 55 | { | ||
| 56 | } | ||
| 44 | #endif | 57 | #endif |
| 45 | 58 | ||
| 46 | #endif /* _LINUX_KCORE_H */ | 59 | #endif /* _LINUX_KCORE_H */ |