1da3de6dfSKumar Gala/* 2da3de6dfSKumar Gala * Special support for eabi and SVR4 3da3de6dfSKumar Gala * 4da3de6dfSKumar Gala * Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. 5da3de6dfSKumar Gala * Copyright 2008 Freescale Semiconductor, Inc. 6da3de6dfSKumar Gala * Written By Michael Meissner 7da3de6dfSKumar Gala * 8da3de6dfSKumar Gala * Based on gcc/config/rs6000/crtsavres.asm from gcc 97fca5dc8SStephen Rothwell * 64 bit additions from reading the PPC elf64abi document. 10da3de6dfSKumar Gala * 11da3de6dfSKumar Gala * This file is free software; you can redistribute it and/or modify it 12da3de6dfSKumar Gala * under the terms of the GNU General Public License as published by the 13da3de6dfSKumar Gala * Free Software Foundation; either version 2, or (at your option) any 14da3de6dfSKumar Gala * later version. 15da3de6dfSKumar Gala * 16da3de6dfSKumar Gala * In addition to the permissions in the GNU General Public License, the 17da3de6dfSKumar Gala * Free Software Foundation gives you unlimited permission to link the 18da3de6dfSKumar Gala * compiled version of this file with other programs, and to distribute 19da3de6dfSKumar Gala * those programs without any restriction coming from the use of this 20da3de6dfSKumar Gala * file. (The General Public License restrictions do apply in other 21da3de6dfSKumar Gala * respects; for example, they cover modification of the file, and 22da3de6dfSKumar Gala * distribution when not linked into another program.) 23da3de6dfSKumar Gala * 24da3de6dfSKumar Gala * This file is distributed in the hope that it will be useful, but 25da3de6dfSKumar Gala * WITHOUT ANY WARRANTY; without even the implied warranty of 26da3de6dfSKumar Gala * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 27da3de6dfSKumar Gala * General Public License for more details. 28da3de6dfSKumar Gala * 29da3de6dfSKumar Gala * You should have received a copy of the GNU General Public License 30da3de6dfSKumar Gala * along with this program; see the file COPYING. If not, write to 31da3de6dfSKumar Gala * the Free Software Foundation, 51 Franklin Street, Fifth Floor, 32da3de6dfSKumar Gala * Boston, MA 02110-1301, USA. 33da3de6dfSKumar Gala * 34da3de6dfSKumar Gala * As a special exception, if you link this library with files 35da3de6dfSKumar Gala * compiled with GCC to produce an executable, this does not cause 36da3de6dfSKumar Gala * the resulting executable to be covered by the GNU General Public License. 37da3de6dfSKumar Gala * This exception does not however invalidate any other reasons why 38da3de6dfSKumar Gala * the executable file might be covered by the GNU General Public License. 39da3de6dfSKumar Gala */ 40da3de6dfSKumar Gala 41da3de6dfSKumar Gala#include <asm/ppc_asm.h> 42da3de6dfSKumar Gala 43da3de6dfSKumar Gala .file "crtsavres.S" 44da3de6dfSKumar Gala 45da3de6dfSKumar Gala#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE 46da3de6dfSKumar Gala 477fca5dc8SStephen Rothwell#ifndef CONFIG_PPC64 487fca5dc8SStephen Rothwell 49*1d5a436dSStephen Rothwell .section ".text" 50*1d5a436dSStephen Rothwell 51da3de6dfSKumar Gala/* Routines for saving integer registers, called by the compiler. */ 52da3de6dfSKumar Gala/* Called with r11 pointing to the stack header word of the caller of the */ 53da3de6dfSKumar Gala/* function, just beyond the end of the integer save area. */ 54da3de6dfSKumar Gala 55da3de6dfSKumar Gala_GLOBAL(_savegpr_14) 56da3de6dfSKumar Gala_GLOBAL(_save32gpr_14) 57da3de6dfSKumar Gala stw 14,-72(11) /* save gp registers */ 58da3de6dfSKumar Gala_GLOBAL(_savegpr_15) 59da3de6dfSKumar Gala_GLOBAL(_save32gpr_15) 60da3de6dfSKumar Gala stw 15,-68(11) 61da3de6dfSKumar Gala_GLOBAL(_savegpr_16) 62da3de6dfSKumar Gala_GLOBAL(_save32gpr_16) 63da3de6dfSKumar Gala stw 16,-64(11) 64da3de6dfSKumar Gala_GLOBAL(_savegpr_17) 65da3de6dfSKumar Gala_GLOBAL(_save32gpr_17) 66da3de6dfSKumar Gala stw 17,-60(11) 67da3de6dfSKumar Gala_GLOBAL(_savegpr_18) 68da3de6dfSKumar Gala_GLOBAL(_save32gpr_18) 69da3de6dfSKumar Gala stw 18,-56(11) 70da3de6dfSKumar Gala_GLOBAL(_savegpr_19) 71da3de6dfSKumar Gala_GLOBAL(_save32gpr_19) 72da3de6dfSKumar Gala stw 19,-52(11) 73da3de6dfSKumar Gala_GLOBAL(_savegpr_20) 74da3de6dfSKumar Gala_GLOBAL(_save32gpr_20) 75da3de6dfSKumar Gala stw 20,-48(11) 76da3de6dfSKumar Gala_GLOBAL(_savegpr_21) 77da3de6dfSKumar Gala_GLOBAL(_save32gpr_21) 78da3de6dfSKumar Gala stw 21,-44(11) 79da3de6dfSKumar Gala_GLOBAL(_savegpr_22) 80da3de6dfSKumar Gala_GLOBAL(_save32gpr_22) 81da3de6dfSKumar Gala stw 22,-40(11) 82da3de6dfSKumar Gala_GLOBAL(_savegpr_23) 83da3de6dfSKumar Gala_GLOBAL(_save32gpr_23) 84da3de6dfSKumar Gala stw 23,-36(11) 85da3de6dfSKumar Gala_GLOBAL(_savegpr_24) 86da3de6dfSKumar Gala_GLOBAL(_save32gpr_24) 87da3de6dfSKumar Gala stw 24,-32(11) 88da3de6dfSKumar Gala_GLOBAL(_savegpr_25) 89da3de6dfSKumar Gala_GLOBAL(_save32gpr_25) 90da3de6dfSKumar Gala stw 25,-28(11) 91da3de6dfSKumar Gala_GLOBAL(_savegpr_26) 92da3de6dfSKumar Gala_GLOBAL(_save32gpr_26) 93da3de6dfSKumar Gala stw 26,-24(11) 94da3de6dfSKumar Gala_GLOBAL(_savegpr_27) 95da3de6dfSKumar Gala_GLOBAL(_save32gpr_27) 96da3de6dfSKumar Gala stw 27,-20(11) 97da3de6dfSKumar Gala_GLOBAL(_savegpr_28) 98da3de6dfSKumar Gala_GLOBAL(_save32gpr_28) 99da3de6dfSKumar Gala stw 28,-16(11) 100da3de6dfSKumar Gala_GLOBAL(_savegpr_29) 101da3de6dfSKumar Gala_GLOBAL(_save32gpr_29) 102da3de6dfSKumar Gala stw 29,-12(11) 103da3de6dfSKumar Gala_GLOBAL(_savegpr_30) 104da3de6dfSKumar Gala_GLOBAL(_save32gpr_30) 105da3de6dfSKumar Gala stw 30,-8(11) 106da3de6dfSKumar Gala_GLOBAL(_savegpr_31) 107da3de6dfSKumar Gala_GLOBAL(_save32gpr_31) 108da3de6dfSKumar Gala stw 31,-4(11) 109da3de6dfSKumar Gala blr 110da3de6dfSKumar Gala 111da3de6dfSKumar Gala/* Routines for restoring integer registers, called by the compiler. */ 112da3de6dfSKumar Gala/* Called with r11 pointing to the stack header word of the caller of the */ 113da3de6dfSKumar Gala/* function, just beyond the end of the integer restore area. */ 114da3de6dfSKumar Gala 115da3de6dfSKumar Gala_GLOBAL(_restgpr_14) 116da3de6dfSKumar Gala_GLOBAL(_rest32gpr_14) 117da3de6dfSKumar Gala lwz 14,-72(11) /* restore gp registers */ 118da3de6dfSKumar Gala_GLOBAL(_restgpr_15) 119da3de6dfSKumar Gala_GLOBAL(_rest32gpr_15) 120da3de6dfSKumar Gala lwz 15,-68(11) 121da3de6dfSKumar Gala_GLOBAL(_restgpr_16) 122da3de6dfSKumar Gala_GLOBAL(_rest32gpr_16) 123da3de6dfSKumar Gala lwz 16,-64(11) 124da3de6dfSKumar Gala_GLOBAL(_restgpr_17) 125da3de6dfSKumar Gala_GLOBAL(_rest32gpr_17) 126da3de6dfSKumar Gala lwz 17,-60(11) 127da3de6dfSKumar Gala_GLOBAL(_restgpr_18) 128da3de6dfSKumar Gala_GLOBAL(_rest32gpr_18) 129da3de6dfSKumar Gala lwz 18,-56(11) 130da3de6dfSKumar Gala_GLOBAL(_restgpr_19) 131da3de6dfSKumar Gala_GLOBAL(_rest32gpr_19) 132da3de6dfSKumar Gala lwz 19,-52(11) 133da3de6dfSKumar Gala_GLOBAL(_restgpr_20) 134da3de6dfSKumar Gala_GLOBAL(_rest32gpr_20) 135da3de6dfSKumar Gala lwz 20,-48(11) 136da3de6dfSKumar Gala_GLOBAL(_restgpr_21) 137da3de6dfSKumar Gala_GLOBAL(_rest32gpr_21) 138da3de6dfSKumar Gala lwz 21,-44(11) 139da3de6dfSKumar Gala_GLOBAL(_restgpr_22) 140da3de6dfSKumar Gala_GLOBAL(_rest32gpr_22) 141da3de6dfSKumar Gala lwz 22,-40(11) 142da3de6dfSKumar Gala_GLOBAL(_restgpr_23) 143da3de6dfSKumar Gala_GLOBAL(_rest32gpr_23) 144da3de6dfSKumar Gala lwz 23,-36(11) 145da3de6dfSKumar Gala_GLOBAL(_restgpr_24) 146da3de6dfSKumar Gala_GLOBAL(_rest32gpr_24) 147da3de6dfSKumar Gala lwz 24,-32(11) 148da3de6dfSKumar Gala_GLOBAL(_restgpr_25) 149da3de6dfSKumar Gala_GLOBAL(_rest32gpr_25) 150da3de6dfSKumar Gala lwz 25,-28(11) 151da3de6dfSKumar Gala_GLOBAL(_restgpr_26) 152da3de6dfSKumar Gala_GLOBAL(_rest32gpr_26) 153da3de6dfSKumar Gala lwz 26,-24(11) 154da3de6dfSKumar Gala_GLOBAL(_restgpr_27) 155da3de6dfSKumar Gala_GLOBAL(_rest32gpr_27) 156da3de6dfSKumar Gala lwz 27,-20(11) 157da3de6dfSKumar Gala_GLOBAL(_restgpr_28) 158da3de6dfSKumar Gala_GLOBAL(_rest32gpr_28) 159da3de6dfSKumar Gala lwz 28,-16(11) 160da3de6dfSKumar Gala_GLOBAL(_restgpr_29) 161da3de6dfSKumar Gala_GLOBAL(_rest32gpr_29) 162da3de6dfSKumar Gala lwz 29,-12(11) 163da3de6dfSKumar Gala_GLOBAL(_restgpr_30) 164da3de6dfSKumar Gala_GLOBAL(_rest32gpr_30) 165da3de6dfSKumar Gala lwz 30,-8(11) 166da3de6dfSKumar Gala_GLOBAL(_restgpr_31) 167da3de6dfSKumar Gala_GLOBAL(_rest32gpr_31) 168da3de6dfSKumar Gala lwz 31,-4(11) 169da3de6dfSKumar Gala blr 170da3de6dfSKumar Gala 171da3de6dfSKumar Gala/* Routines for restoring integer registers, called by the compiler. */ 172da3de6dfSKumar Gala/* Called with r11 pointing to the stack header word of the caller of the */ 173da3de6dfSKumar Gala/* function, just beyond the end of the integer restore area. */ 174da3de6dfSKumar Gala 175da3de6dfSKumar Gala_GLOBAL(_restgpr_14_x) 176da3de6dfSKumar Gala_GLOBAL(_rest32gpr_14_x) 177da3de6dfSKumar Gala lwz 14,-72(11) /* restore gp registers */ 178da3de6dfSKumar Gala_GLOBAL(_restgpr_15_x) 179da3de6dfSKumar Gala_GLOBAL(_rest32gpr_15_x) 180da3de6dfSKumar Gala lwz 15,-68(11) 181da3de6dfSKumar Gala_GLOBAL(_restgpr_16_x) 182da3de6dfSKumar Gala_GLOBAL(_rest32gpr_16_x) 183da3de6dfSKumar Gala lwz 16,-64(11) 184da3de6dfSKumar Gala_GLOBAL(_restgpr_17_x) 185da3de6dfSKumar Gala_GLOBAL(_rest32gpr_17_x) 186da3de6dfSKumar Gala lwz 17,-60(11) 187da3de6dfSKumar Gala_GLOBAL(_restgpr_18_x) 188da3de6dfSKumar Gala_GLOBAL(_rest32gpr_18_x) 189da3de6dfSKumar Gala lwz 18,-56(11) 190da3de6dfSKumar Gala_GLOBAL(_restgpr_19_x) 191da3de6dfSKumar Gala_GLOBAL(_rest32gpr_19_x) 192da3de6dfSKumar Gala lwz 19,-52(11) 193da3de6dfSKumar Gala_GLOBAL(_restgpr_20_x) 194da3de6dfSKumar Gala_GLOBAL(_rest32gpr_20_x) 195da3de6dfSKumar Gala lwz 20,-48(11) 196da3de6dfSKumar Gala_GLOBAL(_restgpr_21_x) 197da3de6dfSKumar Gala_GLOBAL(_rest32gpr_21_x) 198da3de6dfSKumar Gala lwz 21,-44(11) 199da3de6dfSKumar Gala_GLOBAL(_restgpr_22_x) 200da3de6dfSKumar Gala_GLOBAL(_rest32gpr_22_x) 201da3de6dfSKumar Gala lwz 22,-40(11) 202da3de6dfSKumar Gala_GLOBAL(_restgpr_23_x) 203da3de6dfSKumar Gala_GLOBAL(_rest32gpr_23_x) 204da3de6dfSKumar Gala lwz 23,-36(11) 205da3de6dfSKumar Gala_GLOBAL(_restgpr_24_x) 206da3de6dfSKumar Gala_GLOBAL(_rest32gpr_24_x) 207da3de6dfSKumar Gala lwz 24,-32(11) 208da3de6dfSKumar Gala_GLOBAL(_restgpr_25_x) 209da3de6dfSKumar Gala_GLOBAL(_rest32gpr_25_x) 210da3de6dfSKumar Gala lwz 25,-28(11) 211da3de6dfSKumar Gala_GLOBAL(_restgpr_26_x) 212da3de6dfSKumar Gala_GLOBAL(_rest32gpr_26_x) 213da3de6dfSKumar Gala lwz 26,-24(11) 214da3de6dfSKumar Gala_GLOBAL(_restgpr_27_x) 215da3de6dfSKumar Gala_GLOBAL(_rest32gpr_27_x) 216da3de6dfSKumar Gala lwz 27,-20(11) 217da3de6dfSKumar Gala_GLOBAL(_restgpr_28_x) 218da3de6dfSKumar Gala_GLOBAL(_rest32gpr_28_x) 219da3de6dfSKumar Gala lwz 28,-16(11) 220da3de6dfSKumar Gala_GLOBAL(_restgpr_29_x) 221da3de6dfSKumar Gala_GLOBAL(_rest32gpr_29_x) 222da3de6dfSKumar Gala lwz 29,-12(11) 223da3de6dfSKumar Gala_GLOBAL(_restgpr_30_x) 224da3de6dfSKumar Gala_GLOBAL(_rest32gpr_30_x) 225da3de6dfSKumar Gala lwz 30,-8(11) 226da3de6dfSKumar Gala_GLOBAL(_restgpr_31_x) 227da3de6dfSKumar Gala_GLOBAL(_rest32gpr_31_x) 228da3de6dfSKumar Gala lwz 0,4(11) 229da3de6dfSKumar Gala lwz 31,-4(11) 230da3de6dfSKumar Gala mtlr 0 231da3de6dfSKumar Gala mr 1,11 232da3de6dfSKumar Gala blr 2337fca5dc8SStephen Rothwell 2347fca5dc8SStephen Rothwell#else /* CONFIG_PPC64 */ 2357fca5dc8SStephen Rothwell 236*1d5a436dSStephen Rothwell .section ".text.save.restore","ax",@progbits 237*1d5a436dSStephen Rothwell 2387fca5dc8SStephen Rothwell.globl _savegpr0_14 2397fca5dc8SStephen Rothwell_savegpr0_14: 2407fca5dc8SStephen Rothwell std r14,-144(r1) 2417fca5dc8SStephen Rothwell.globl _savegpr0_15 2427fca5dc8SStephen Rothwell_savegpr0_15: 2437fca5dc8SStephen Rothwell std r15,-136(r1) 2447fca5dc8SStephen Rothwell.globl _savegpr0_16 2457fca5dc8SStephen Rothwell_savegpr0_16: 2467fca5dc8SStephen Rothwell std r16,-128(r1) 2477fca5dc8SStephen Rothwell.globl _savegpr0_17 2487fca5dc8SStephen Rothwell_savegpr0_17: 2497fca5dc8SStephen Rothwell std r17,-120(r1) 2507fca5dc8SStephen Rothwell.globl _savegpr0_18 2517fca5dc8SStephen Rothwell_savegpr0_18: 2527fca5dc8SStephen Rothwell std r18,-112(r1) 2537fca5dc8SStephen Rothwell.globl _savegpr0_19 2547fca5dc8SStephen Rothwell_savegpr0_19: 2557fca5dc8SStephen Rothwell std r19,-104(r1) 2567fca5dc8SStephen Rothwell.globl _savegpr0_20 2577fca5dc8SStephen Rothwell_savegpr0_20: 2587fca5dc8SStephen Rothwell std r20,-96(r1) 2597fca5dc8SStephen Rothwell.globl _savegpr0_21 2607fca5dc8SStephen Rothwell_savegpr0_21: 2617fca5dc8SStephen Rothwell std r21,-88(r1) 2627fca5dc8SStephen Rothwell.globl _savegpr0_22 2637fca5dc8SStephen Rothwell_savegpr0_22: 2647fca5dc8SStephen Rothwell std r22,-80(r1) 2657fca5dc8SStephen Rothwell.globl _savegpr0_23 2667fca5dc8SStephen Rothwell_savegpr0_23: 2677fca5dc8SStephen Rothwell std r23,-72(r1) 2687fca5dc8SStephen Rothwell.globl _savegpr0_24 2697fca5dc8SStephen Rothwell_savegpr0_24: 2707fca5dc8SStephen Rothwell std r24,-64(r1) 2717fca5dc8SStephen Rothwell.globl _savegpr0_25 2727fca5dc8SStephen Rothwell_savegpr0_25: 2737fca5dc8SStephen Rothwell std r25,-56(r1) 2747fca5dc8SStephen Rothwell.globl _savegpr0_26 2757fca5dc8SStephen Rothwell_savegpr0_26: 2767fca5dc8SStephen Rothwell std r26,-48(r1) 2777fca5dc8SStephen Rothwell.globl _savegpr0_27 2787fca5dc8SStephen Rothwell_savegpr0_27: 2797fca5dc8SStephen Rothwell std r27,-40(r1) 2807fca5dc8SStephen Rothwell.globl _savegpr0_28 2817fca5dc8SStephen Rothwell_savegpr0_28: 2827fca5dc8SStephen Rothwell std r28,-32(r1) 2837fca5dc8SStephen Rothwell.globl _savegpr0_29 2847fca5dc8SStephen Rothwell_savegpr0_29: 2857fca5dc8SStephen Rothwell std r29,-24(r1) 2867fca5dc8SStephen Rothwell.globl _savegpr0_30 2877fca5dc8SStephen Rothwell_savegpr0_30: 2887fca5dc8SStephen Rothwell std r30,-16(r1) 2897fca5dc8SStephen Rothwell.globl _savegpr0_31 2907fca5dc8SStephen Rothwell_savegpr0_31: 2917fca5dc8SStephen Rothwell std r31,-8(r1) 2927fca5dc8SStephen Rothwell std r0,16(r1) 2937fca5dc8SStephen Rothwell blr 2947fca5dc8SStephen Rothwell 2957fca5dc8SStephen Rothwell.globl _restgpr0_14 2967fca5dc8SStephen Rothwell_restgpr0_14: 2977fca5dc8SStephen Rothwell ld r14,-144(r1) 2987fca5dc8SStephen Rothwell.globl _restgpr0_15 2997fca5dc8SStephen Rothwell_restgpr0_15: 3007fca5dc8SStephen Rothwell ld r15,-136(r1) 3017fca5dc8SStephen Rothwell.globl _restgpr0_16 3027fca5dc8SStephen Rothwell_restgpr0_16: 3037fca5dc8SStephen Rothwell ld r16,-128(r1) 3047fca5dc8SStephen Rothwell.globl _restgpr0_17 3057fca5dc8SStephen Rothwell_restgpr0_17: 3067fca5dc8SStephen Rothwell ld r17,-120(r1) 3077fca5dc8SStephen Rothwell.globl _restgpr0_18 3087fca5dc8SStephen Rothwell_restgpr0_18: 3097fca5dc8SStephen Rothwell ld r18,-112(r1) 3107fca5dc8SStephen Rothwell.globl _restgpr0_19 3117fca5dc8SStephen Rothwell_restgpr0_19: 3127fca5dc8SStephen Rothwell ld r19,-104(r1) 3137fca5dc8SStephen Rothwell.globl _restgpr0_20 3147fca5dc8SStephen Rothwell_restgpr0_20: 3157fca5dc8SStephen Rothwell ld r20,-96(r1) 3167fca5dc8SStephen Rothwell.globl _restgpr0_21 3177fca5dc8SStephen Rothwell_restgpr0_21: 3187fca5dc8SStephen Rothwell ld r21,-88(r1) 3197fca5dc8SStephen Rothwell.globl _restgpr0_22 3207fca5dc8SStephen Rothwell_restgpr0_22: 3217fca5dc8SStephen Rothwell ld r22,-80(r1) 3227fca5dc8SStephen Rothwell.globl _restgpr0_23 3237fca5dc8SStephen Rothwell_restgpr0_23: 3247fca5dc8SStephen Rothwell ld r23,-72(r1) 3257fca5dc8SStephen Rothwell.globl _restgpr0_24 3267fca5dc8SStephen Rothwell_restgpr0_24: 3277fca5dc8SStephen Rothwell ld r24,-64(r1) 3287fca5dc8SStephen Rothwell.globl _restgpr0_25 3297fca5dc8SStephen Rothwell_restgpr0_25: 3307fca5dc8SStephen Rothwell ld r25,-56(r1) 3317fca5dc8SStephen Rothwell.globl _restgpr0_26 3327fca5dc8SStephen Rothwell_restgpr0_26: 3337fca5dc8SStephen Rothwell ld r26,-48(r1) 3347fca5dc8SStephen Rothwell.globl _restgpr0_27 3357fca5dc8SStephen Rothwell_restgpr0_27: 3367fca5dc8SStephen Rothwell ld r27,-40(r1) 3377fca5dc8SStephen Rothwell.globl _restgpr0_28 3387fca5dc8SStephen Rothwell_restgpr0_28: 3397fca5dc8SStephen Rothwell ld r28,-32(r1) 3407fca5dc8SStephen Rothwell.globl _restgpr0_29 3417fca5dc8SStephen Rothwell_restgpr0_29: 3427fca5dc8SStephen Rothwell ld r0,16(r1) 3437fca5dc8SStephen Rothwell ld r29,-24(r1) 3447fca5dc8SStephen Rothwell mtlr r0 3457fca5dc8SStephen Rothwell ld r30,-16(r1) 3467fca5dc8SStephen Rothwell ld r31,-8(r1) 3477fca5dc8SStephen Rothwell blr 3487fca5dc8SStephen Rothwell 3497fca5dc8SStephen Rothwell.globl _restgpr0_30 3507fca5dc8SStephen Rothwell_restgpr0_30: 3517fca5dc8SStephen Rothwell ld r30,-16(r1) 3527fca5dc8SStephen Rothwell.globl _restgpr0_31 3537fca5dc8SStephen Rothwell_restgpr0_31: 3547fca5dc8SStephen Rothwell ld r0,16(r1) 3557fca5dc8SStephen Rothwell ld r31,-8(r1) 3567fca5dc8SStephen Rothwell mtlr r0 3577fca5dc8SStephen Rothwell blr 3587fca5dc8SStephen Rothwell 3597fca5dc8SStephen Rothwell#endif /* CONFIG_PPC64 */ 3607fca5dc8SStephen Rothwell 361da3de6dfSKumar Gala#endif 362