vmcore_info.c 758 B

1234567891011121314151617181920212223
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. #include <linux/vmcore_info.h>
  3. #include <asm/abs_lowcore.h>
  4. #include <linux/mm.h>
  5. #include <asm/setup.h>
  6. void arch_crash_save_vmcoreinfo(void)
  7. {
  8. struct lowcore *abs_lc;
  9. VMCOREINFO_SYMBOL(lowcore_ptr);
  10. VMCOREINFO_SYMBOL(high_memory);
  11. VMCOREINFO_LENGTH(lowcore_ptr, NR_CPUS);
  12. vmcoreinfo_append_str("SAMODE31=%lx\n", (unsigned long)__samode31);
  13. vmcoreinfo_append_str("EAMODE31=%lx\n", (unsigned long)__eamode31);
  14. vmcoreinfo_append_str("IDENTITYBASE=%lx\n", __identity_base);
  15. vmcoreinfo_append_str("KERNELOFFSET=%lx\n", kaslr_offset());
  16. vmcoreinfo_append_str("KERNELOFFPHYS=%lx\n", __kaslr_offset_phys);
  17. abs_lc = get_abs_lowcore();
  18. abs_lc->vmcore_info = paddr_vmcoreinfo_note();
  19. put_abs_lowcore(abs_lc);
  20. }