mirror of
https://github.com/JakeHillion/drgn.git
synced 2024-12-22 17:23:06 +00:00
9da9f6a871
In an upcoming commit, we will parse the AArch64 pointer authentication code mask either from the VMCOREINFO note or the NT_ARM_PAC_MASK note. Since it doesn't always come from VMCOREINFO, it doesn't make sense to put it in struct vmcoreinfo; struct drgn_program makes more sense. So, make parse_vmcoreinfo() take struct drgn_program instead of struct vmcoreinfo, rename it to drgn_program_parse_vmcoreinfo(), and replace struct vmcoreinfo with an anonymous struct in struct drgn_program. Signed-off-by: Omar Sandoval <osandov@osandov.com>
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#ifndef DRGN_LINUX_KERNEL_H
|
|
#define DRGN_LINUX_KERNEL_H
|
|
|
|
#include "drgn.h"
|
|
|
|
struct drgn_debug_info_load_state;
|
|
|
|
struct drgn_error *read_memory_via_pgtable(void *buf, uint64_t address,
|
|
size_t count, uint64_t offset,
|
|
void *arg, bool physical);
|
|
|
|
struct drgn_error *drgn_program_parse_vmcoreinfo(struct drgn_program *prog,
|
|
const char *desc,
|
|
size_t descsz);
|
|
|
|
struct drgn_error *proc_kallsyms_symbol_addr(const char *name,
|
|
unsigned long *ret);
|
|
|
|
struct drgn_error *read_vmcoreinfo_fallback(struct drgn_program *prog);
|
|
|
|
struct drgn_error *linux_kernel_object_find(const char *name, size_t name_len,
|
|
const char *filename,
|
|
enum drgn_find_object_flags flags,
|
|
void *arg, struct drgn_object *ret);
|
|
|
|
struct drgn_error *
|
|
linux_kernel_report_debug_info(struct drgn_debug_info_load_state *load);
|
|
|
|
#define KDUMP_SIGNATURE "KDUMP "
|
|
#define KDUMP_SIG_LEN (sizeof(KDUMP_SIGNATURE) - 1)
|
|
|
|
#ifdef WITH_LIBKDUMPFILE
|
|
struct drgn_error *drgn_program_cache_kdump_notes(struct drgn_program *prog);
|
|
struct drgn_error *drgn_program_set_kdump(struct drgn_program *prog);
|
|
#else
|
|
static inline struct drgn_error *
|
|
drgn_program_set_kdump(struct drgn_program *prog)
|
|
{
|
|
return drgn_error_create(DRGN_ERROR_INVALID_ARGUMENT,
|
|
"drgn was built without libkdumpfile support");
|
|
}
|
|
#endif
|
|
|
|
#endif /* DRGN_LINUX_KERNEL_H */
|