vmcore_info.c 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. #include <linux/vmcore_info.h>
  3. #include <linux/pagemap.h>
  4. void arch_crash_save_vmcoreinfo(void)
  5. {
  6. VMCOREINFO_NUMBER(phys_ram_base);
  7. vmcoreinfo_append_str("NUMBER(PAGE_OFFSET)=0x%lx\n", PAGE_OFFSET);
  8. vmcoreinfo_append_str("NUMBER(VMALLOC_END)=0x%lx\n", VMALLOC_END);
  9. #ifdef CONFIG_MMU
  10. VMCOREINFO_NUMBER(VA_BITS);
  11. vmcoreinfo_append_str("NUMBER(VMEMMAP_START)=0x%lx\n", VMEMMAP_START);
  12. vmcoreinfo_append_str("NUMBER(VMEMMAP_END)=0x%lx\n", VMEMMAP_END);
  13. #ifdef CONFIG_64BIT
  14. vmcoreinfo_append_str("NUMBER(MODULES_VADDR)=0x%lx\n", MODULES_VADDR);
  15. vmcoreinfo_append_str("NUMBER(MODULES_END)=0x%lx\n", MODULES_END);
  16. #endif
  17. #endif
  18. vmcoreinfo_append_str("NUMBER(KERNEL_LINK_ADDR)=0x%lx\n", KERNEL_LINK_ADDR);
  19. #ifdef CONFIG_XIP_KERNEL
  20. /* TODO: Communicate with crash-utility developers on the information to
  21. * export. The XIP case is more complicated, because the virtual-physical
  22. * address offset depends on whether the address is in ROM or in RAM.
  23. */
  24. #else
  25. vmcoreinfo_append_str("NUMBER(va_kernel_pa_offset)=0x%lx\n",
  26. kernel_map.va_kernel_pa_offset);
  27. #endif
  28. }