| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (C) 1996 Paul Mackerras. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or |
|---|
| 5 | | - * modify it under the terms of the GNU General Public License |
|---|
| 6 | | - * as published by the Free Software Foundation; either version |
|---|
| 7 | | - * 2 of the License, or (at your option) any later version. |
|---|
| 8 | 4 | * |
|---|
| 9 | 5 | * NOTE: assert(sizeof(buf) > 23 * sizeof(long)) |
|---|
| 10 | 6 | */ |
|---|
| .. | .. |
|---|
| 59 | 55 | PPC_STL r29,29*SZL(r3) |
|---|
| 60 | 56 | PPC_STL r30,30*SZL(r3) |
|---|
| 61 | 57 | PPC_STL r31,31*SZL(r3) |
|---|
| 58 | + lbz r0,PACAIRQSOFTMASK(r13) |
|---|
| 59 | + PPC_STL r0,SOFTE-STACK_FRAME_OVERHEAD(r3) |
|---|
| 62 | 60 | #endif |
|---|
| 63 | 61 | /* go up one stack frame for SP */ |
|---|
| 64 | 62 | PPC_LL r4,0(r1) |
|---|
| 65 | 63 | PPC_STL r4,1*SZL(r3) |
|---|
| 66 | 64 | /* get caller's LR */ |
|---|
| 67 | 65 | PPC_LL r0,LRSAVE(r4) |
|---|
| 68 | | - PPC_STL r0,_NIP-STACK_FRAME_OVERHEAD(r3) |
|---|
| 69 | 66 | PPC_STL r0,_LINK-STACK_FRAME_OVERHEAD(r3) |
|---|
| 67 | + mflr r0 |
|---|
| 68 | + PPC_STL r0,_NIP-STACK_FRAME_OVERHEAD(r3) |
|---|
| 70 | 69 | mfmsr r0 |
|---|
| 71 | 70 | PPC_STL r0,_MSR-STACK_FRAME_OVERHEAD(r3) |
|---|
| 72 | 71 | mfctr r0 |
|---|
| .. | .. |
|---|
| 77 | 76 | PPC_STL r0,_CCR-STACK_FRAME_OVERHEAD(r3) |
|---|
| 78 | 77 | li r0,0 |
|---|
| 79 | 78 | PPC_STL r0,_TRAP-STACK_FRAME_OVERHEAD(r3) |
|---|
| 79 | + PPC_STL r0,ORIG_GPR3-STACK_FRAME_OVERHEAD(r3) |
|---|
| 80 | 80 | blr |
|---|