mirror of
https://github.com/NationalSecurityAgency/ghidra
synced 2024-10-01 07:54:25 +00:00
add support for Arm stack limit register instructions
This commit is contained in:
parent
5ab72bf4f2
commit
5963669eac
|
@ -2858,6 +2858,45 @@ control: "control" is epsilon {}
|
|||
Rd0811 = zext((altStackMode << 1) | notPrivileged);
|
||||
}
|
||||
|
||||
@endif
|
||||
@if defined(CORTEX)
|
||||
|
||||
define pcodeop setMainStackPointerLimit;
|
||||
|
||||
msplim: "msplim" is epsilon {}
|
||||
|
||||
:msr^ItCond msplim,Rn0003 is TMode=1 & ItCond & op4=0xf38 & Rn0003; op12=0x8 & th_psrmask=8 & sysm=10 & msplim
|
||||
{
|
||||
build ItCond;
|
||||
setMainStackPointerLimit(Rn0003);
|
||||
}
|
||||
|
||||
define pcodeop setProcStackPointerLimit;
|
||||
|
||||
psplim: "psplim" is epsilon {}
|
||||
|
||||
:msr^ItCond psplim,Rn0003 is TMode=1 & ItCond & op4=0xf38 & Rn0003; op12=0x8 & th_psrmask=8 & sysm=11 & psplim
|
||||
{
|
||||
build ItCond;
|
||||
setProcStackPointerLimit(Rn0003);
|
||||
}
|
||||
|
||||
define pcodeop getMainStackPointerLimit;
|
||||
|
||||
:mrs^ItCond Rd0811,msplim is TMode=1 & ItCond & op0=0xf3ff; op12=0x8 & Rd0811 & sysm=10 & msplim
|
||||
{
|
||||
build ItCond;
|
||||
Rd0811 = getMainStackPointerLimit();
|
||||
}
|
||||
|
||||
define pcodeop getProcessStackPointerLimit;
|
||||
|
||||
:mrs^ItCond Rd0811,psplim is TMode=1 & ItCond & op0=0xf3ff; op12=0x8 & Rd0811 & sysm=11 & psplim
|
||||
{
|
||||
build ItCond;
|
||||
Rd0811 = getProcessStackPointerLimit();
|
||||
}
|
||||
|
||||
@endif
|
||||
|
||||
:mrs^ItCond Rd0811,cpsr is TMode=1 & ItCond & op0=0xf3ef; op12=0x8 & Rd0811 & sysm=0 & cpsr
|
||||
|
|
Loading…
Reference in a new issue