Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4714026 authored by Huang Yiwei's avatar Huang Yiwei
Browse files

soc: qcom: Add rodata section dump in minidump



Since ro_after_init section content is changed during init, dump
this section also in minidump to provide more debug info.

Change-Id: I7fba1271ac4b6930bfde7bc3aafd43936d81c5ae
Signed-off-by: default avatarHuang Yiwei <hyiwei@codeaurora.org>
parent 8543fd31
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ static void __init register_kernel_sections(void)
{
	struct md_region ksec_entry;
	char *data_name = "KDATABSS";
	char *rodata_name = "KROAIDATA";
	const size_t static_size = __per_cpu_end - __per_cpu_start;
	void __percpu *base = (void __percpu *)__per_cpu_start;
	unsigned int cpu;
@@ -200,6 +201,13 @@ static void __init register_kernel_sections(void)
	if (msm_minidump_add_region(&ksec_entry) < 0)
		pr_err("Failed to add data section in Minidump\n");

	strlcpy(ksec_entry.name, rodata_name, sizeof(ksec_entry.name));
	ksec_entry.virt_addr = (uintptr_t)__start_ro_after_init;
	ksec_entry.phys_addr = virt_to_phys(__start_ro_after_init);
	ksec_entry.size = roundup((__end_ro_after_init - __start_ro_after_init), 4);
	if (msm_minidump_add_region(&ksec_entry) < 0)
		pr_err("Failed to add rodata section in Minidump\n");

	/* Add percpu static sections */
	for_each_possible_cpu(cpu) {
		void *start = per_cpu_ptr(base, cpu);