* grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
(grub_longjmp): Restore r31. * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
This commit is contained in:
parent
4336b5d85e
commit
59c943ecf6
3 changed files with 13 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
|
||||
(grub_longjmp): Restore r31.
|
||||
* include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
|
||||
|
||||
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
|
||||
|
|
|
@ -47,10 +47,11 @@ FUNCTION(grub_setjmp)
|
|||
stw 28, 60(3)
|
||||
stw 29, 64(3)
|
||||
stw 30, 68(3)
|
||||
stw 31, 72(3)
|
||||
mflr 4
|
||||
stw 4, 72(3)
|
||||
mfcr 4
|
||||
stw 4, 76(3)
|
||||
mfcr 4
|
||||
stw 4, 80(3)
|
||||
li 3, 0
|
||||
blr
|
||||
|
||||
|
@ -76,9 +77,10 @@ FUNCTION(grub_longjmp)
|
|||
lwz 28, 60(3)
|
||||
lwz 29, 64(3)
|
||||
lwz 30, 68(3)
|
||||
lwz 5, 72(3)
|
||||
mtlr 5
|
||||
lwz 31, 72(3)
|
||||
lwz 5, 76(3)
|
||||
mtlr 5
|
||||
lwz 5, 80(3)
|
||||
mtcr 5
|
||||
mr. 3, 4
|
||||
bne 1f
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#ifndef GRUB_SETJMP_CPU_HEADER
|
||||
#define GRUB_SETJMP_CPU_HEADER 1
|
||||
|
||||
typedef unsigned long grub_jmp_buf[20];
|
||||
typedef unsigned long grub_jmp_buf[21];
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env) RETURNS_TWICE;
|
||||
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
|
||||
|
|
Loading…
Reference in a new issue