From: Pavel Tatashin <pasha.tatashin@soleen.com> To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, maz@kernel.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, bhsharma@redhat.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com Subject: [PATCH v9 18/18] arm64: kexec: remove head from relocation argument Date: Wed, 25 Mar 2020 23:24:20 -0400 [thread overview] Message-ID: <20200326032420.27220-19-pasha.tatashin@soleen.com> (raw) In-Reply-To: <20200326032420.27220-1-pasha.tatashin@soleen.com> Now, that relocation is done using virtual addresses, reloc_arg->head is not needed anymore. Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> --- arch/arm64/include/asm/kexec.h | 2 -- arch/arm64/kernel/asm-offsets.c | 1 - arch/arm64/kernel/machine_kexec.c | 1 - 3 files changed, 4 deletions(-) diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h index 8f4332ac607a..571a2ba886b9 100644 --- a/arch/arm64/include/asm/kexec.h +++ b/arch/arm64/include/asm/kexec.h @@ -100,7 +100,6 @@ extern const unsigned long kexec_el2_vectors_offset; /* * kern_reloc_arg is passed to kernel relocation function as an argument. - * head kimage->head, allows to traverse through relocation segments. * entry_addr kimage->start, where to jump from relocation function (new * kernel, or purgatory entry address). * kern_arg0 first argument to kernel is its dtb address. The other @@ -116,7 +115,6 @@ extern const unsigned long kexec_el2_vectors_offset; * copy_len Number of bytes that need to be copied */ struct kern_reloc_arg { - phys_addr_t head; phys_addr_t entry_addr; phys_addr_t kern_arg0; phys_addr_t kern_arg1; diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c index 58ad5b7816ab..8673a5854807 100644 --- a/arch/arm64/kernel/asm-offsets.c +++ b/arch/arm64/kernel/asm-offsets.c @@ -130,7 +130,6 @@ int main(void) DEFINE(SDEI_EVENT_PRIORITY, offsetof(struct sdei_registered_event, priority)); #endif #ifdef CONFIG_KEXEC_CORE - DEFINE(KEXEC_KRELOC_HEAD, offsetof(struct kern_reloc_arg, head)); DEFINE(KEXEC_KRELOC_ENTRY_ADDR, offsetof(struct kern_reloc_arg, entry_addr)); DEFINE(KEXEC_KRELOC_KERN_ARG0, offsetof(struct kern_reloc_arg, kern_arg0)); DEFINE(KEXEC_KRELOC_KERN_ARG1, offsetof(struct kern_reloc_arg, kern_arg1)); diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c index db96d2fab8b2..2d3290d7b122 100644 --- a/arch/arm64/kernel/machine_kexec.c +++ b/arch/arm64/kernel/machine_kexec.c @@ -162,7 +162,6 @@ int machine_kexec_post_load(struct kimage *kimage) memcpy(reloc_code, kexec_relocate_code_start, kexec_relocate_code_size); kimage->arch.kern_reloc = __pa(reloc_code) + kexec_kern_reloc_offset; kimage->arch.kern_reloc_arg = __pa(kern_reloc_arg); - kern_reloc_arg->head = kimage->head; kern_reloc_arg->entry_addr = kimage->start; kern_reloc_arg->kern_arg0 = kimage->arch.dtb_mem; /* Setup vector table only when EL2 is available, but no VHE */ -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Pavel Tatashin <pasha.tatashin@soleen.com> To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org, ebiederm@xmission.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, corbet@lwn.net, catalin.marinas@arm.com, will@kernel.org, linux-arm-kernel@lists.infradead.org, maz@kernel.org, james.morse@arm.com, vladimir.murzin@arm.com, matthias.bgg@gmail.com, bhsharma@redhat.com, linux-mm@kvack.org, mark.rutland@arm.com, steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de, selindag@gmail.com Subject: [PATCH v9 18/18] arm64: kexec: remove head from relocation argument Date: Wed, 25 Mar 2020 23:24:20 -0400 [thread overview] Message-ID: <20200326032420.27220-19-pasha.tatashin@soleen.com> (raw) In-Reply-To: <20200326032420.27220-1-pasha.tatashin@soleen.com> Now, that relocation is done using virtual addresses, reloc_arg->head is not needed anymore. Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> --- arch/arm64/include/asm/kexec.h | 2 -- arch/arm64/kernel/asm-offsets.c | 1 - arch/arm64/kernel/machine_kexec.c | 1 - 3 files changed, 4 deletions(-) diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h index 8f4332ac607a..571a2ba886b9 100644 --- a/arch/arm64/include/asm/kexec.h +++ b/arch/arm64/include/asm/kexec.h @@ -100,7 +100,6 @@ extern const unsigned long kexec_el2_vectors_offset; /* * kern_reloc_arg is passed to kernel relocation function as an argument. - * head kimage->head, allows to traverse through relocation segments. * entry_addr kimage->start, where to jump from relocation function (new * kernel, or purgatory entry address). * kern_arg0 first argument to kernel is its dtb address. The other @@ -116,7 +115,6 @@ extern const unsigned long kexec_el2_vectors_offset; * copy_len Number of bytes that need to be copied */ struct kern_reloc_arg { - phys_addr_t head; phys_addr_t entry_addr; phys_addr_t kern_arg0; phys_addr_t kern_arg1; diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c index 58ad5b7816ab..8673a5854807 100644 --- a/arch/arm64/kernel/asm-offsets.c +++ b/arch/arm64/kernel/asm-offsets.c @@ -130,7 +130,6 @@ int main(void) DEFINE(SDEI_EVENT_PRIORITY, offsetof(struct sdei_registered_event, priority)); #endif #ifdef CONFIG_KEXEC_CORE - DEFINE(KEXEC_KRELOC_HEAD, offsetof(struct kern_reloc_arg, head)); DEFINE(KEXEC_KRELOC_ENTRY_ADDR, offsetof(struct kern_reloc_arg, entry_addr)); DEFINE(KEXEC_KRELOC_KERN_ARG0, offsetof(struct kern_reloc_arg, kern_arg0)); DEFINE(KEXEC_KRELOC_KERN_ARG1, offsetof(struct kern_reloc_arg, kern_arg1)); diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c index db96d2fab8b2..2d3290d7b122 100644 --- a/arch/arm64/kernel/machine_kexec.c +++ b/arch/arm64/kernel/machine_kexec.c @@ -162,7 +162,6 @@ int machine_kexec_post_load(struct kimage *kimage) memcpy(reloc_code, kexec_relocate_code_start, kexec_relocate_code_size); kimage->arch.kern_reloc = __pa(reloc_code) + kexec_kern_reloc_offset; kimage->arch.kern_reloc_arg = __pa(kern_reloc_arg); - kern_reloc_arg->head = kimage->head; kern_reloc_arg->entry_addr = kimage->start; kern_reloc_arg->kern_arg0 = kimage->arch.dtb_mem; /* Setup vector table only when EL2 is available, but no VHE */ -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-03-26 3:24 UTC|newest] Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-26 3:24 [PATCH v9 00/18] arm64: MMU enabled kexec relocation Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 01/18] arm64: kexec: make dtb_mem always enabled Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:00 ` James Morse 2020-04-29 17:00 ` James Morse 2020-04-29 17:00 ` James Morse 2021-01-23 0:17 ` Pavel Tatashin 2021-01-23 0:17 ` Pavel Tatashin 2021-01-23 0:17 ` Pavel Tatashin 2021-01-23 0:17 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 02/18] arm64: hibernate: move page handling function to new trans_pgd.c Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:00 ` James Morse 2020-04-29 17:00 ` James Morse 2020-04-29 17:00 ` James Morse 2021-01-23 0:18 ` Pavel Tatashin 2021-01-23 0:18 ` Pavel Tatashin 2021-01-23 0:18 ` Pavel Tatashin 2021-01-23 0:18 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 03/18] arm64: trans_pgd: make trans_pgd_map_page generic Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-22 21:52 ` Pavel Tatashin 2021-01-22 21:52 ` Pavel Tatashin 2021-01-22 21:52 ` Pavel Tatashin 2021-01-22 21:52 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 04/18] arm64: trans_pgd: pass allocator trans_pgd_create_copy Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-23 0:20 ` Pavel Tatashin 2021-01-23 0:20 ` Pavel Tatashin 2021-01-23 0:20 ` Pavel Tatashin 2021-01-23 0:20 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 05/18] arm64: trans_pgd: pass NULL instead of init_mm to *_populate functions Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-23 0:22 ` Pavel Tatashin 2021-01-23 0:22 ` Pavel Tatashin 2021-01-23 0:22 ` Pavel Tatashin 2021-01-23 0:22 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 06/18] arm64: mm: Always update TCR_EL1 from __cpu_set_tcr_t0sz() Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 07/18] arm64: trans_pgd: hibernate: idmap the single page that holds the copy page routines Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-23 0:35 ` Pavel Tatashin 2021-01-23 0:35 ` Pavel Tatashin 2021-01-23 0:35 ` Pavel Tatashin 2021-01-23 0:35 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 08/18] arm64: kexec: move relocation function setup Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-23 1:01 ` Pavel Tatashin 2021-01-23 1:01 ` Pavel Tatashin 2021-01-23 1:01 ` Pavel Tatashin 2021-01-23 1:01 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 09/18] arm64: kexec: call kexec_image_info only once Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-03-26 3:24 ` [PATCH v9 10/18] arm64: kexec: cpu_soft_restart change argument types Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2020-04-29 17:01 ` James Morse 2021-01-23 1:14 ` Pavel Tatashin 2021-01-23 1:14 ` Pavel Tatashin 2021-01-23 1:14 ` Pavel Tatashin 2021-01-23 1:14 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 11/18] arm64: kexec: arm64_relocate_new_kernel clean-ups Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-03-26 3:24 ` [PATCH v9 12/18] arm64: kexec: arm64_relocate_new_kernel don't use x0 as temp Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-03-26 3:24 ` [PATCH v9 13/18] arm64: kexec: add expandable argument to relocation function Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2021-01-23 2:49 ` Pavel Tatashin 2021-01-23 2:49 ` Pavel Tatashin 2021-01-23 2:49 ` Pavel Tatashin 2021-01-23 2:49 ` Pavel Tatashin 2020-03-26 3:24 ` [PATCH v9 14/18] arm64: kexec: offset for " Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-03-26 3:24 ` [PATCH v9 15/18] arm64: kexec: kexec EL2 vectors Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-04-29 17:35 ` Marc Zyngier 2020-04-29 17:35 ` Marc Zyngier 2020-04-29 17:35 ` Marc Zyngier 2021-01-25 19:07 ` Pavel Tatashin 2021-01-25 19:07 ` Pavel Tatashin 2021-01-25 19:07 ` Pavel Tatashin 2021-01-25 19:07 ` Pavel Tatashin 2020-05-07 16:21 ` James Morse 2020-05-07 16:21 ` James Morse 2020-05-07 16:21 ` James Morse 2020-03-26 3:24 ` [PATCH v9 16/18] arm64: kexec: configure trans_pgd page table for kexec Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-05-07 16:22 ` James Morse 2020-03-26 3:24 ` [PATCH v9 17/18] arm64: kexec: enable MMU during kexec relocation Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin 2020-03-26 3:24 ` Pavel Tatashin [this message] 2020-03-26 3:24 ` [PATCH v9 18/18] arm64: kexec: remove head from relocation argument Pavel Tatashin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200326032420.27220-19-pasha.tatashin@soleen.com \ --to=pasha.tatashin@soleen.com \ --cc=bhsharma@redhat.com \ --cc=catalin.marinas@arm.com \ --cc=corbet@lwn.net \ --cc=ebiederm@xmission.com \ --cc=james.morse@arm.com \ --cc=jmorris@namei.org \ --cc=kexec@lists.infradead.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mark.rutland@arm.com \ --cc=matthias.bgg@gmail.com \ --cc=maz@kernel.org \ --cc=rfontana@redhat.com \ --cc=sashal@kernel.org \ --cc=selindag@gmail.com \ --cc=steve.capper@arm.com \ --cc=tglx@linutronix.de \ --cc=vladimir.murzin@arm.com \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.