Rizin
unix-like reverse engineering framework and cli tools
ppc.h File Reference

Go to the source code of this file.

Classes

struct  powerpc_opcode
 
struct  powerpc_operand
 
struct  powerpc_macro
 

Macros

#define PPC_OPCODE_PPC   1
 
#define PPC_OPCODE_POWER   2
 
#define PPC_OPCODE_POWER2   4
 
#define PPC_OPCODE_32   8
 
#define PPC_OPCODE_64   0x10
 
#define PPC_OPCODE_601   0x20
 
#define PPC_OPCODE_COMMON   0x40
 
#define PPC_OPCODE_ANY   0x80
 
#define PPC_OPCODE_64_BRIDGE   0x100
 
#define PPC_OPCODE_ALTIVEC   0x200
 
#define PPC_OPCODE_403   0x400
 
#define PPC_OPCODE_BOOKE   0x800
 
#define PPC_OPCODE_BOOKE64   0x1000
 
#define PPC_OPCODE_440   0x2000
 
#define PPC_OPCODE_POWER4   0x4000
 
#define PPC_OPCODE_NOPOWER4   0x8000
 
#define PPC_OPCODE_CLASSIC   0x10000
 
#define PPC_OPCODE_SPE   0x20000
 
#define PPC_OPCODE_ISEL   0x40000
 
#define PPC_OPCODE_EFS   0x80000
 
#define PPC_OPCODE_BRLOCK   0x100000
 
#define PPC_OPCODE_PMR   0x200000
 
#define PPC_OPCODE_CACHELCK   0x400000
 
#define PPC_OPCODE_RFMCI   0x800000
 
#define PPC_OPCODE_POWER5   0x1000000
 
#define PPC_OPCODE_E300   0x2000000
 
#define PPC_OPCODE_POWER6   0x4000000
 
#define PPC_OPCODE_CELL   0x8000000
 
#define PPC_OPCODE_PPCPS   0x10000000
 
#define PPC_OPCODE_E500MC   0x20000000
 
#define PPC_OPCODE_405   0x40000000
 
#define PPC_OPCODE_VSX   0x80000000
 
#define PPC_OP(i)   (((i) >> 26) & 0x3f)
 
#define PPC_OPERAND_SIGNED   (0x1)
 
#define PPC_OPERAND_SIGNOPT   (0x2)
 
#define PPC_OPERAND_FAKE   (0x4)
 
#define PPC_OPERAND_PARENS   (0x8)
 
#define PPC_OPERAND_CR   (0x10)
 
#define PPC_OPERAND_GPR   (0x20)
 
#define PPC_OPERAND_GPR_0   (0x40)
 
#define PPC_OPERAND_FPR   (0x80)
 
#define PPC_OPERAND_RELATIVE   (0x100)
 
#define PPC_OPERAND_ABSOLUTE   (0x200)
 
#define PPC_OPERAND_OPTIONAL   (0x400)
 
#define PPC_OPERAND_NEXT   (0x800)
 
#define PPC_OPERAND_NEGATIVE   (0x1000)
 
#define PPC_OPERAND_VR   (0x2000)
 
#define PPC_OPERAND_DS   (0x4000)
 
#define PPC_OPERAND_DQ   (0x8000)
 
#define PPC_OPERAND_PLUS1   (0x10000)
 
#define PPC_OPERAND_FSL   (0x20000)
 
#define PPC_OPERAND_FCR   (0x40000)
 
#define PPC_OPERAND_UDI   (0x80000)
 
#define PPC_OPERAND_VSR   (0x100000)
 

Typedefs

typedef unsigned long ppc_cpu_t
 

Variables

const struct powerpc_opcode powerpc_opcodes []
 
const int powerpc_num_opcodes
 
const struct powerpc_operand powerpc_operands []
 
const unsigned int num_powerpc_operands
 
const struct powerpc_macro powerpc_macros []
 
const int powerpc_num_macros
 

Macro Definition Documentation

◆ PPC_OP

#define PPC_OP (   i)    (((i) >> 26) & 0x3f)

Definition at line 166 of file ppc.h.

◆ PPC_OPCODE_32

#define PPC_OPCODE_32   8

Definition at line 75 of file ppc.h.

◆ PPC_OPCODE_403

#define PPC_OPCODE_403   0x400

Definition at line 100 of file ppc.h.

◆ PPC_OPCODE_405

#define PPC_OPCODE_405   0x40000000

Definition at line 160 of file ppc.h.

◆ PPC_OPCODE_440

#define PPC_OPCODE_440   0x2000

Definition at line 109 of file ppc.h.

◆ PPC_OPCODE_601

#define PPC_OPCODE_601   0x20

Definition at line 83 of file ppc.h.

◆ PPC_OPCODE_64

#define PPC_OPCODE_64   0x10

Definition at line 78 of file ppc.h.

◆ PPC_OPCODE_64_BRIDGE

#define PPC_OPCODE_64_BRIDGE   0x100

Definition at line 94 of file ppc.h.

◆ PPC_OPCODE_ALTIVEC

#define PPC_OPCODE_ALTIVEC   0x200

Definition at line 97 of file ppc.h.

◆ PPC_OPCODE_ANY

#define PPC_OPCODE_ANY   0x80

Definition at line 91 of file ppc.h.

◆ PPC_OPCODE_BOOKE

#define PPC_OPCODE_BOOKE   0x800

Definition at line 103 of file ppc.h.

◆ PPC_OPCODE_BOOKE64

#define PPC_OPCODE_BOOKE64   0x1000

Definition at line 106 of file ppc.h.

◆ PPC_OPCODE_BRLOCK

#define PPC_OPCODE_BRLOCK   0x100000

Definition at line 130 of file ppc.h.

◆ PPC_OPCODE_CACHELCK

#define PPC_OPCODE_CACHELCK   0x400000

Definition at line 136 of file ppc.h.

◆ PPC_OPCODE_CELL

#define PPC_OPCODE_CELL   0x8000000

Definition at line 151 of file ppc.h.

◆ PPC_OPCODE_CLASSIC

#define PPC_OPCODE_CLASSIC   0x10000

Definition at line 118 of file ppc.h.

◆ PPC_OPCODE_COMMON

#define PPC_OPCODE_COMMON   0x40

Definition at line 87 of file ppc.h.

◆ PPC_OPCODE_E300

#define PPC_OPCODE_E300   0x2000000

Definition at line 145 of file ppc.h.

◆ PPC_OPCODE_E500MC

#define PPC_OPCODE_E500MC   0x20000000

Definition at line 157 of file ppc.h.

◆ PPC_OPCODE_EFS

#define PPC_OPCODE_EFS   0x80000

Definition at line 127 of file ppc.h.

◆ PPC_OPCODE_ISEL

#define PPC_OPCODE_ISEL   0x40000

Definition at line 124 of file ppc.h.

◆ PPC_OPCODE_NOPOWER4

#define PPC_OPCODE_NOPOWER4   0x8000

Definition at line 115 of file ppc.h.

◆ PPC_OPCODE_PMR

#define PPC_OPCODE_PMR   0x200000

Definition at line 133 of file ppc.h.

◆ PPC_OPCODE_POWER

#define PPC_OPCODE_POWER   2

Definition at line 69 of file ppc.h.

◆ PPC_OPCODE_POWER2

#define PPC_OPCODE_POWER2   4

Definition at line 72 of file ppc.h.

◆ PPC_OPCODE_POWER4

#define PPC_OPCODE_POWER4   0x4000

Definition at line 112 of file ppc.h.

◆ PPC_OPCODE_POWER5

#define PPC_OPCODE_POWER5   0x1000000

Definition at line 142 of file ppc.h.

◆ PPC_OPCODE_POWER6

#define PPC_OPCODE_POWER6   0x4000000

Definition at line 148 of file ppc.h.

◆ PPC_OPCODE_PPC

#define PPC_OPCODE_PPC   1

Definition at line 66 of file ppc.h.

◆ PPC_OPCODE_PPCPS

#define PPC_OPCODE_PPCPS   0x10000000

Definition at line 154 of file ppc.h.

◆ PPC_OPCODE_RFMCI

#define PPC_OPCODE_RFMCI   0x800000

Definition at line 139 of file ppc.h.

◆ PPC_OPCODE_SPE

#define PPC_OPCODE_SPE   0x20000

Definition at line 121 of file ppc.h.

◆ PPC_OPCODE_VSX

#define PPC_OPCODE_VSX   0x80000000

Definition at line 163 of file ppc.h.

◆ PPC_OPERAND_ABSOLUTE

#define PPC_OPERAND_ABSOLUTE   (0x200)

Definition at line 276 of file ppc.h.

◆ PPC_OPERAND_CR

#define PPC_OPERAND_CR   (0x10)

Definition at line 257 of file ppc.h.

◆ PPC_OPERAND_DQ

#define PPC_OPERAND_DQ   (0x8000)

Definition at line 309 of file ppc.h.

◆ PPC_OPERAND_DS

#define PPC_OPERAND_DS   (0x4000)

Definition at line 306 of file ppc.h.

◆ PPC_OPERAND_FAKE

#define PPC_OPERAND_FAKE   (0x4)

Definition at line 241 of file ppc.h.

◆ PPC_OPERAND_FCR

#define PPC_OPERAND_FCR   (0x40000)

Definition at line 316 of file ppc.h.

◆ PPC_OPERAND_FPR

#define PPC_OPERAND_FPR   (0x80)

Definition at line 268 of file ppc.h.

◆ PPC_OPERAND_FSL

#define PPC_OPERAND_FSL   (0x20000)

Definition at line 315 of file ppc.h.

◆ PPC_OPERAND_GPR

#define PPC_OPERAND_GPR   (0x20)

Definition at line 261 of file ppc.h.

◆ PPC_OPERAND_GPR_0

#define PPC_OPERAND_GPR_0   (0x40)

Definition at line 264 of file ppc.h.

◆ PPC_OPERAND_NEGATIVE

#define PPC_OPERAND_NEGATIVE   (0x1000)

Definition at line 299 of file ppc.h.

◆ PPC_OPERAND_NEXT

#define PPC_OPERAND_NEXT   (0x800)

Definition at line 292 of file ppc.h.

◆ PPC_OPERAND_OPTIONAL

#define PPC_OPERAND_OPTIONAL   (0x400)

Definition at line 284 of file ppc.h.

◆ PPC_OPERAND_PARENS

#define PPC_OPERAND_PARENS   (0x8)

Definition at line 248 of file ppc.h.

◆ PPC_OPERAND_PLUS1

#define PPC_OPERAND_PLUS1   (0x10000)

Definition at line 312 of file ppc.h.

◆ PPC_OPERAND_RELATIVE

#define PPC_OPERAND_RELATIVE   (0x100)

Definition at line 272 of file ppc.h.

◆ PPC_OPERAND_SIGNED

#define PPC_OPERAND_SIGNED   (0x1)

Definition at line 227 of file ppc.h.

◆ PPC_OPERAND_SIGNOPT

#define PPC_OPERAND_SIGNOPT   (0x2)

Definition at line 233 of file ppc.h.

◆ PPC_OPERAND_UDI

#define PPC_OPERAND_UDI   (0x80000)

Definition at line 317 of file ppc.h.

◆ PPC_OPERAND_VR

#define PPC_OPERAND_VR   (0x2000)

Definition at line 303 of file ppc.h.

◆ PPC_OPERAND_VSR

#define PPC_OPERAND_VSR   (0x100000)

Definition at line 321 of file ppc.h.

Typedef Documentation

◆ ppc_cpu_t

Definition at line 28 of file ppc.h.

Variable Documentation

◆ num_powerpc_operands

const unsigned int num_powerpc_operands
extern

◆ powerpc_macros

const struct powerpc_macro powerpc_macros[]
extern

◆ powerpc_num_macros

const int powerpc_num_macros
extern

◆ powerpc_num_opcodes

const int powerpc_num_opcodes
extern

◆ powerpc_opcodes

const struct powerpc_opcode powerpc_opcodes[]
extern

◆ powerpc_operands

const struct powerpc_operand powerpc_operands[]
extern