summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@redhat.com>2014-07-31 09:38:04 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2014-08-05 17:55:12 +1000
commit7f6ffa5c6c5143db62aff2fcff771d7aa7daf016 (patch)
treeb4273c7d93f6c93e7b6203c090542cfbe8bebb8d /arch
parentc35e30e1534a17b58f101560874373c5a8085b34 (diff)
kexec-bzimage64: fix the ordering of registers
hpa suggested to fix the ordering of register declaration. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/kexec.h11
-rw-r--r--arch/x86/purgatory/entry64.S6
2 files changed, 11 insertions, 6 deletions
diff --git a/arch/x86/include/asm/kexec.h b/arch/x86/include/asm/kexec.h
index 45aa86469130..d2434c1cad05 100644
--- a/arch/x86/include/asm/kexec.h
+++ b/arch/x86/include/asm/kexec.h
@@ -182,15 +182,20 @@ struct kimage_arch {
#endif /* CONFIG_X86_32 */
#ifdef CONFIG_X86_64
+/*
+ * Number of elements and order of elements in this structure should match
+ * with the ones in arch/x86/purgatory/entry64.S. If you make a change here
+ * make an appropriate change in purgatory too.
+ */
struct kexec_entry64_regs {
uint64_t rax;
- uint64_t rbx;
uint64_t rcx;
uint64_t rdx;
- uint64_t rsi;
- uint64_t rdi;
+ uint64_t rbx;
uint64_t rsp;
uint64_t rbp;
+ uint64_t rsi;
+ uint64_t rdi;
uint64_t r8;
uint64_t r9;
uint64_t r10;
diff --git a/arch/x86/purgatory/entry64.S b/arch/x86/purgatory/entry64.S
index be3249d7ed2d..d1a4291d3568 100644
--- a/arch/x86/purgatory/entry64.S
+++ b/arch/x86/purgatory/entry64.S
@@ -61,13 +61,13 @@ new_cs_exit:
.balign 4
entry64_regs:
rax: .quad 0x0
-rbx: .quad 0x0
rcx: .quad 0x0
rdx: .quad 0x0
-rsi: .quad 0x0
-rdi: .quad 0x0
+rbx: .quad 0x0
rsp: .quad 0x0
rbp: .quad 0x0
+rsi: .quad 0x0
+rdi: .quad 0x0
r8: .quad 0x0
r9: .quad 0x0
r10: .quad 0x0