Add Power ISA e200 embedded core variant

This commit is contained in:
Matt Borgerson 2023-02-02 23:00:53 -07:00
parent 6eb78e7ef2
commit cf9319e321
4 changed files with 40 additions and 2 deletions

View File

@ -23,6 +23,7 @@ data/languages/ppc_32_4xx_le.slaspec||GHIDRA||||END|
data/languages/ppc_32_be.cspec||GHIDRA||||END|
data/languages/ppc_32_be.slaspec||GHIDRA||||END|
data/languages/ppc_32_be_Mac.cspec||GHIDRA||||END|
data/languages/ppc_32_e200.slaspec||GHIDRA||||END|
data/languages/ppc_32_e500_be.cspec||GHIDRA||||END|
data/languages/ppc_32_e500_be.slaspec||GHIDRA||||END|
data/languages/ppc_32_e500_le.cspec||GHIDRA||||END|

View File

@ -8,8 +8,10 @@
<constraint primary="497" processor="PowerPC" endian="little" size="32" />
</constraint>
<constraint loader="Executable and Linking Format (ELF)" compilerSpecID="default">
<constraint primary="20" processor="PowerPC" size="32" />
<constraint primary="21" processor="PowerPC" size="64" />
<constraint primary="20" processor="PowerPC" size="32">
<constraint secondary="0x80000000" endian="big" variant="e200" />
</constraint>
<constraint primary="21" processor="PowerPC" size="64" />
</constraint>
<constraint loader="Preferred Executable Format (PEF)" compilerSpecID="default">
<constraint primary="pwpc" processor="PowerPC" endian="big" size="32" />

View File

@ -128,6 +128,21 @@
<external_name tool="IDA-PRO" name="ppcl"/>
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
</language>
<language processor="PowerPC"
endian="big"
size="32"
variant="e200"
version="1.5"
slafile="ppc_32_e200.sla"
processorspec="ppc_32.pspec"
manualindexfile="../manuals/PowerPC.idx"
id="PowerPC:BE:32:VLE-e200">
<description>Power ISA Embedded e200 32-bit big endian w/VLE</description>
<compiler name="default" spec="ppc_32_be.cspec" id="default"/>
<external_name tool="gnu" name="powerpc:e200"/>
<external_name tool="IDA-PRO" name="ppc"/>
<external_name tool="DWARF.register.mapping.file" name="ppc.dwarf"/>
</language>
<language processor="PowerPC"
endian="big"
size="32"

View File

@ -0,0 +1,20 @@
# SLA specification file for the Power ISA Embedded e200 32-bit big endian core w/VLE
@define ENDIAN "big"
# FIXME: See note below
# @define IS_ISA "1"
@define REGISTER_SIZE "4"
@define EATRUNC "ea"
@include "ppc_common.sinc"
@include "ppc_vle.sinc"
# FIXME: Define IS_ISA above to bring in SPE_APU.sinc, but requires fixing
@include "evx.sinc"
@include "SPEF_SCR.sinc"
# FIXME: Fix size restrictions
# @include "SPE_EFV.sinc"