-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy patharm.h
30 lines (25 loc) · 964 Bytes
/
arm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
// ARM-specific macro definitions
#pragma once
#ifndef _M_ARM
#error Include arm.h in builds of ARM targets only.
#endif
extern "C" LPVOID arm_GET_CURRENT_FRAME(void);
extern "C" VOID arm_SAVE_REGISTERS(void*);
/*
* The relevant part of the frame looks like this (high addresses at the top, low ones at the bottom):
*
* ----------------------
* r3 <=== Homed input parameters
* r2 <
* r1 <
* r0 <===
* lr <=== return address
* r11 <=== current r11 (frame pointer)
* ...
*/
const DWORD ReturnAddrOffsetFromFramePtr = 1;
const DWORD ArgOffsetFromFramePtr = 2;