...
Package ppc64
Constants
const (
STUB_TOC = iota
STUB_PCREL
)
const (
OP_TOCRESTORE = 0xe8410018
OP_TOCSAVE = 0xf8410018
OP_NOP = 0x60000000
OP_BL = 0x48000001
OP_BCTR = 0x4e800420
OP_BCTRL = 0x4e800421
OP_BCL = 0x40000001
OP_ADDI = 0x38000000
OP_ADDIS = 0x3c000000
OP_LD = 0xe8000000
OP_PLA_PFX = 0x06100000
OP_PLA_SFX = 0x38000000
OP_PLD_PFX_PCREL = 0x04100000
OP_PLD_SFX = 0xe4000000
OP_MFLR = 0x7c0802a6
OP_MTLR = 0x7c0803a6
OP_MFCTR = 0x7c0902a6
OP_MTCTR = 0x7c0903a6
OP_ADDIS_R12_R2 = OP_ADDIS | 12<<21 | 2<<16
OP_ADDIS_R12_R12 = OP_ADDIS | 12<<21 | 12<<16
OP_ADDI_R12_R12 = OP_ADDI | 12<<21 | 12<<16
OP_PLD_SFX_R12 = OP_PLD_SFX | 12<<21
OP_PLA_SFX_R12 = OP_PLA_SFX | 12<<21
OP_LIS_R12 = OP_ADDIS | 12<<21
OP_LD_R12_R12 = OP_LD | 12<<21 | 12<<16
OP_MTCTR_R12 = OP_MTCTR | 12<<21
OP_MFLR_R12 = OP_MFLR | 12<<21
OP_MFLR_R0 = OP_MFLR | 0<<21
OP_MTLR_R0 = OP_MTLR | 0<<21
OP_BCL_NIA = OP_BCL | 20<<21 | 31<<16 | 1<<2
MASK_PLD_PFX = 0xfff70000
MASK_PLD_SFX = 0xfc1f0000
MASK_PLD_RT = 0x03e00000
MASK_OP_LD = 0xfc000003
MASK_OP_ADDIS = 0xfc000000
)
func Init() (*sys.Arch, ld.Arch)