Rizin
unix-like reverse engineering framework and cli tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Friends Macros Modules Pages
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