mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-23 12:51:13 +00:00
43 lines
1.6 KiB
ArmAsm
43 lines
1.6 KiB
ArmAsm
|
/*
|
||
|
* Copyright (c) Atmosphère-NX
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify it
|
||
|
* under the terms and conditions of the GNU General Public License,
|
||
|
* version 2, as published by the Free Software Foundation.
|
||
|
*
|
||
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||
|
* more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
/* ams::test::TestThreadCreateRegistersOnFunctionEntry(void *ctx) */
|
||
|
.section .text._ZN3ams4test40TestThreadCreateRegistersOnFunctionEntryEPv, "ax", %progbits
|
||
|
.global _ZN3ams4test40TestThreadCreateRegistersOnFunctionEntryEPv
|
||
|
.type _ZN3ams4test40TestThreadCreateRegistersOnFunctionEntryEPv, %function
|
||
|
_ZN3ams4test40TestThreadCreateRegistersOnFunctionEntryEPv:
|
||
|
/* Save all registers to our context. */
|
||
|
stp x0, x1, [x0, #0x00]
|
||
|
stp x2, x3, [x0, #0x10]
|
||
|
stp x4, x5, [x0, #0x20]
|
||
|
stp x6, x7, [x0, #0x30]
|
||
|
stp x8, x9, [x0, #0x40]
|
||
|
stp x10, x11, [x0, #0x50]
|
||
|
stp x12, x13, [x0, #0x60]
|
||
|
stp x14, x15, [x0, #0x70]
|
||
|
stp x16, x17, [x0, #0x80]
|
||
|
stp x18, x19, [x0, #0x90]
|
||
|
stp x20, x21, [x0, #0xA0]
|
||
|
stp x22, x23, [x0, #0xB0]
|
||
|
stp x24, x25, [x0, #0xC0]
|
||
|
stp x26, x27, [x0, #0xD0]
|
||
|
stp x28, x29, [x0, #0xE0]
|
||
|
|
||
|
mov x1, sp
|
||
|
stp x30, x1, [x0, #0xF0]
|
||
|
|
||
|
/* Exit the thread. */
|
||
|
svc 0xa
|