.. | .. |
---|
38 | 38 | |
---|
39 | 39 | #define VMCOREINFO_OSRELEASE(value) \ |
---|
40 | 40 | vmcoreinfo_append_str("OSRELEASE=%s\n", value) |
---|
| 41 | +#define VMCOREINFO_BUILD_ID(value) \ |
---|
| 42 | + vmcoreinfo_append_str("BUILD-ID=%s\n", value) |
---|
41 | 43 | #define VMCOREINFO_PAGESIZE(value) \ |
---|
42 | 44 | vmcoreinfo_append_str("PAGESIZE=%ld\n", value) |
---|
43 | 45 | #define VMCOREINFO_SYMBOL(name) \ |
---|
.. | .. |
---|
53 | 55 | #define VMCOREINFO_OFFSET(name, field) \ |
---|
54 | 56 | vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #field, \ |
---|
55 | 57 | (unsigned long)offsetof(struct name, field)) |
---|
| 58 | +#define VMCOREINFO_TYPE_OFFSET(name, field) \ |
---|
| 59 | + vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #field, \ |
---|
| 60 | + (unsigned long)offsetof(name, field)) |
---|
56 | 61 | #define VMCOREINFO_LENGTH(name, value) \ |
---|
57 | 62 | vmcoreinfo_append_str("LENGTH(%s)=%lu\n", #name, (unsigned long)value) |
---|
58 | 63 | #define VMCOREINFO_NUMBER(name) \ |
---|
.. | .. |
---|
64 | 69 | extern size_t vmcoreinfo_size; |
---|
65 | 70 | extern u32 *vmcoreinfo_note; |
---|
66 | 71 | |
---|
| 72 | +/* raw contents of kernel .notes section */ |
---|
| 73 | +extern const void __start_notes __weak; |
---|
| 74 | +extern const void __stop_notes __weak; |
---|
| 75 | + |
---|
67 | 76 | Elf_Word *append_elf_note(Elf_Word *buf, char *name, unsigned int type, |
---|
68 | 77 | void *data, size_t data_len); |
---|
69 | 78 | void final_note(Elf_Word *buf); |
---|