From: Ram Pai <linuxram@us.ibm.com>
To: grub-devel@gnu.org
Cc: tlfalcon@linux.vnet.ibm.com, tbberry@us.ibm.com,
anton@au1.ibm.com, linuxram@us.ibm.com, tonyb@au1.ibm.com,
Anton Blanchard <anton@samba.org>
Subject: [RFC PATCH 11/23] Fix powerpc setjmp/longjmp 64bit issues
Date: Wed, 26 Feb 2014 10:31:10 -0800 [thread overview]
Message-ID: <1393439482-20341-12-git-send-email-linuxram@us.ibm.com> (raw)
In-Reply-To: <1393439482-20341-1-git-send-email-linuxram@us.ibm.com>
From: Anton Blanchard <anton@samba.org>
Fix powerpc setjmp/longjmp 64bit issues
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
From: Anton Blanchard <anton@samba.org>
---
grub-core/lib/powerpc/setjmp.S | 94 +++++++++++++++++++++++-------------------
1 file changed, 52 insertions(+), 42 deletions(-)
diff --git a/grub-core/lib/powerpc/setjmp.S b/grub-core/lib/powerpc/setjmp.S
index 716b563..51fcae9 100644
--- a/grub-core/lib/powerpc/setjmp.S
+++ b/grub-core/lib/powerpc/setjmp.S
@@ -25,33 +25,43 @@ GRUB_MOD_LICENSE "GPLv3+"
.text
+#if defined( __powerpc64__ ) || defined( __powerpc64le__ )
+#define LOAD ld
+#define STORE std
+#define SZ_LONG 8
+#else
+#define LOAD lwz
+#define STORE stw
+#define SZ_LONG 4
+#endif
+
/*
* int grub_setjmp (grub_jmp_buf env)
*/
FUNCTION(grub_setjmp)
- stw 1, 0(3)
- stw 14, 4(3)
- stw 15, 8(3)
- stw 16, 12(3)
- stw 17, 16(3)
- stw 18, 20(3)
- stw 19, 24(3)
- stw 20, 28(3)
- stw 21, 32(3)
- stw 22, 36(3)
- stw 23, 40(3)
- stw 24, 44(3)
- stw 25, 48(3)
- stw 26, 52(3)
- stw 27, 56(3)
- stw 28, 60(3)
- stw 29, 64(3)
- stw 30, 68(3)
- stw 31, 72(3)
+ STORE 1, 0(3)
+ STORE 14, 1*SZ_LONG(3)
+ STORE 15, 2*SZ_LONG(3)
+ STORE 16, 3*SZ_LONG(3)
+ STORE 17, 4*SZ_LONG(3)
+ STORE 18, 5*SZ_LONG(3)
+ STORE 19, 6*SZ_LONG(3)
+ STORE 20, 7*SZ_LONG(3)
+ STORE 21, 8*SZ_LONG(3)
+ STORE 22, 9*SZ_LONG(3)
+ STORE 23, 10*SZ_LONG(3)
+ STORE 24, 11*SZ_LONG(3)
+ STORE 25, 12*SZ_LONG(3)
+ STORE 26, 13*SZ_LONG(3)
+ STORE 27, 14*SZ_LONG(3)
+ STORE 28, 15*SZ_LONG(3)
+ STORE 29, 16*SZ_LONG(3)
+ STORE 30, 17*SZ_LONG(3)
+ STORE 31, 18*SZ_LONG(3)
mflr 4
- stw 4, 76(3)
+ STORE 4, 19*SZ_LONG(3)
mfcr 4
- stw 4, 80(3)
+ STORE 4, 20*SZ_LONG(3)
li 3, 0
blr
@@ -59,28 +69,28 @@ FUNCTION(grub_setjmp)
* int grub_longjmp (grub_jmp_buf env, int val)
*/
FUNCTION(grub_longjmp)
- lwz 1, 0(3)
- lwz 14, 4(3)
- lwz 15, 8(3)
- lwz 16, 12(3)
- lwz 17, 16(3)
- lwz 18, 20(3)
- lwz 19, 24(3)
- lwz 20, 28(3)
- lwz 21, 32(3)
- lwz 22, 36(3)
- lwz 23, 40(3)
- lwz 24, 44(3)
- lwz 25, 48(3)
- lwz 26, 52(3)
- lwz 27, 56(3)
- lwz 28, 60(3)
- lwz 29, 64(3)
- lwz 30, 68(3)
- lwz 31, 72(3)
- lwz 5, 76(3)
+ LOAD 1, 0(3)
+ LOAD 14, 1*SZ_LONG(3)
+ LOAD 15, 2*SZ_LONG(3)
+ LOAD 16, 3*SZ_LONG(3)
+ LOAD 17, 4*SZ_LONG(3)
+ LOAD 18, 5*SZ_LONG(3)
+ LOAD 19, 6*SZ_LONG(3)
+ LOAD 20, 7*SZ_LONG(3)
+ LOAD 21, 8*SZ_LONG(3)
+ LOAD 22, 9*SZ_LONG(3)
+ LOAD 23, 10*SZ_LONG(3)
+ LOAD 24, 11*SZ_LONG(3)
+ LOAD 25, 12*SZ_LONG(3)
+ LOAD 26, 13*SZ_LONG(3)
+ LOAD 27, 14*SZ_LONG(3)
+ LOAD 28, 15*SZ_LONG(3)
+ LOAD 29, 16*SZ_LONG(3)
+ LOAD 30, 17*SZ_LONG(3)
+ LOAD 31, 18*SZ_LONG(3)
+ LOAD 5, 19*SZ_LONG(3)
mtlr 5
- lwz 5, 80(3)
+ LOAD 5, 20*SZ_LONG(3)
mtcr 5
mr. 3, 4
bne 1f
--
1.8.5.3
next prev parent reply other threads:[~2014-02-26 18:32 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 18:30 [RFC PATCH 00/23] grub 64bit little-endian on power Ram Pai
2014-02-26 18:31 ` [RFC PATCH 01/23] Add a new architecture to the build process Ram Pai
2014-02-26 18:31 ` [RFC PATCH 02/23] Build LE grub as O1 Ram Pai
2014-02-26 18:31 ` [RFC PATCH 03/23] ignore .TOC. symbol Ram Pai
2014-04-01 16:52 ` Andrey Borzenkov
2014-02-26 18:31 ` [RFC PATCH 04/23] grub-install can now recognize and install a LE grub boot loader Ram Pai
2014-02-26 18:31 ` [RFC PATCH 05/23] set ABI version in e_flag of the PPC64LE ELF image Ram Pai
2014-02-26 18:31 ` [RFC PATCH 06/23] Add IEEE1275_ADDR helper Ram Pai
2014-04-01 17:11 ` Andrey Borzenkov
2014-02-26 18:31 ` [RFC PATCH 07/23] Fix some more warnings when casting Ram Pai
2014-02-26 18:31 ` [RFC PATCH 08/23] Add powerpc64 types Ram Pai
2014-04-01 17:15 ` Andrey Borzenkov
2014-04-02 17:02 ` Ram Pai
2014-02-26 18:31 ` [RFC PATCH 09/23] Fix warnings when building powerpc linux loader 64bit Ram Pai
2014-04-01 17:21 ` Andrey Borzenkov
2014-04-02 17:03 ` Ram Pai
2014-02-26 18:31 ` [RFC PATCH 10/23] GRUB_ELF_R_PPC_* processing is applicable only for 32 bit bootloader Ram Pai
2014-02-26 18:31 ` Ram Pai [this message]
2014-04-01 17:27 ` [RFC PATCH 11/23] Fix powerpc setjmp/longjmp 64bit issues Andrey Borzenkov
2014-04-02 17:06 ` Ram Pai
2014-04-02 17:19 ` Andrey Borzenkov
2014-04-02 17:48 ` Ram Pai
2014-04-02 17:56 ` Andrey Borzenkov
2014-04-02 18:55 ` Ram Pai
2014-02-26 18:31 ` [RFC PATCH 12/23] Add powerpc64 ieee1275 trampoline Ram Pai
2014-02-26 18:31 ` [RFC PATCH 13/23] Add 64bit support to powerpc startup code Ram Pai
2014-02-26 18:31 ` [RFC PATCH 14/23] Add grub_dl_find_section_addr Ram Pai
2014-02-26 18:31 ` [RFC PATCH 15/23] Add ppc64 relocations Ram Pai
2014-02-26 18:31 ` [RFC PATCH 16/23] ppc64 doesn't need libgcc routines Ram Pai
2014-02-26 18:31 ` [RFC PATCH 17/23] Use FUNC_START/FUNC_END for powerpc function definitions Ram Pai
2014-02-26 18:31 ` [RFC PATCH 18/23] .TOC. symbol is special in ppc64le Ram Pai
2014-02-26 18:31 ` [RFC PATCH 19/23] align .toc section on 4byte boundary Ram Pai
2014-02-26 18:31 ` [RFC PATCH 20/23] fix parameter to firmware calls Ram Pai
2014-04-01 17:45 ` Andrey Borzenkov
2014-04-02 17:08 ` Ram Pai
2014-04-02 17:16 ` Andrey Borzenkov
2014-02-26 18:31 ` [RFC PATCH 21/23] powerpc64 is not necessarily BigEndian anymore! :) Ram Pai
2014-04-01 17:49 ` Andrey Borzenkov
2014-04-01 20:22 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-03 17:33 ` Ram Pai
2014-04-03 17:53 ` Andrey Borzenkov
2014-04-03 18:37 ` Ram Pai
2014-04-03 19:03 ` Andrey Borzenkov
2014-04-03 19:26 ` Ram Pai
2014-04-03 19:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-03 20:23 ` Ram Pai
2014-04-03 19:54 ` Andrey Borzenkov
2014-04-03 20:32 ` Ram Pai
2014-04-03 21:41 ` Vladimir 'phcoder' Serbinenko
2014-04-04 2:28 ` Andrey Borzenkov
2014-04-04 17:47 ` Ram Pai
2014-04-04 18:17 ` Andrey Borzenkov
2014-04-04 18:24 ` Dinar Valeev
2014-04-04 19:12 ` Andrey Borzenkov
2014-04-04 20:29 ` Dinar Valeev
2014-04-04 22:19 ` Ram Pai
[not found] ` <CAEaD8JN9SkqU9+BkU2MYub=aC3Wb143nMPgRWjVbFvgit90yBQ@mail.gmail.com>
2014-04-05 0:04 ` Fwd: " Vladimir 'phcoder' Serbinenko
2014-09-27 5:42 ` Andrei Borzenkov
2014-09-28 6:33 ` Andrei Borzenkov
2014-04-04 6:37 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-04 17:08 ` Andrey Borzenkov
2014-04-05 15:45 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-05 16:49 ` Andrey Borzenkov
2014-04-05 18:29 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-05 18:48 ` Andrey Borzenkov
2014-04-02 17:09 ` Ram Pai
2014-02-26 18:31 ` [RFC PATCH 22/23] fix segfaults if initrd Ram Pai
2014-02-26 18:31 ` [RFC PATCH 23/23] Optional: Power7 VSX instructions workaround Ram Pai
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=1393439482-20341-12-git-send-email-linuxram@us.ibm.com \
--to=linuxram@us.ibm.com \
--cc=anton@au1.ibm.com \
--cc=anton@samba.org \
--cc=grub-devel@gnu.org \
--cc=tbberry@us.ibm.com \
--cc=tlfalcon@linux.vnet.ibm.com \
--cc=tonyb@au1.ibm.com \
/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: link
Be 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.