Lines Matching refs:instword
876 static int emulate_string_inst(struct pt_regs *regs, u32 instword) in emulate_string_inst() argument
878 u8 rT = (instword >> 21) & 0x1f; in emulate_string_inst()
879 u8 rA = (instword >> 16) & 0x1f; in emulate_string_inst()
880 u8 NB_RB = (instword >> 11) & 0x1f; in emulate_string_inst()
886 if ((instword & PPC_INST_STRING_MASK) == PPC_INST_LSWX) in emulate_string_inst()
892 switch (instword & PPC_INST_STRING_MASK) { in emulate_string_inst()
915 switch ((instword & PPC_INST_STRING_MASK)) { in emulate_string_inst()
948 static int emulate_popcntb_inst(struct pt_regs *regs, u32 instword) in emulate_popcntb_inst() argument
953 ra = (instword >> 16) & 0x1f; in emulate_popcntb_inst()
954 rs = (instword >> 21) & 0x1f; in emulate_popcntb_inst()
965 static int emulate_isel(struct pt_regs *regs, u32 instword) in emulate_isel() argument
967 u8 rT = (instword >> 21) & 0x1f; in emulate_isel()
968 u8 rA = (instword >> 16) & 0x1f; in emulate_isel()
969 u8 rB = (instword >> 11) & 0x1f; in emulate_isel()
970 u8 BC = (instword >> 6) & 0x1f; in emulate_isel()
1006 u32 instword; in emulate_instruction() local
1013 if (get_user(instword, (u32 __user *)(regs->nip))) in emulate_instruction()
1017 if ((instword & PPC_INST_MFSPR_PVR_MASK) == PPC_INST_MFSPR_PVR) { in emulate_instruction()
1019 rd = (instword >> 21) & 0x1f; in emulate_instruction()
1025 if ((instword & PPC_INST_DCBA_MASK) == PPC_INST_DCBA) { in emulate_instruction()
1031 if ((instword & PPC_INST_MCRXR_MASK) == PPC_INST_MCRXR) { in emulate_instruction()
1032 int shift = (instword >> 21) & 0x1c; in emulate_instruction()
1042 if ((instword & PPC_INST_STRING_GEN_MASK) == PPC_INST_STRING) { in emulate_instruction()
1047 return emulate_string_inst(regs, instword); in emulate_instruction()
1051 if ((instword & PPC_INST_POPCNTB_MASK) == PPC_INST_POPCNTB) { in emulate_instruction()
1053 return emulate_popcntb_inst(regs, instword); in emulate_instruction()
1057 if ((instword & PPC_INST_ISEL_MASK) == PPC_INST_ISEL) { in emulate_instruction()
1059 return emulate_isel(regs, instword); in emulate_instruction()
1063 if ((instword & PPC_INST_SYNC_MASK) == PPC_INST_SYNC) { in emulate_instruction()
1071 if ((((instword & PPC_INST_MFSPR_DSCR_USER_MASK) == in emulate_instruction()
1073 ((instword & PPC_INST_MFSPR_DSCR_MASK) == in emulate_instruction()
1077 rd = (instword >> 21) & 0x1f; in emulate_instruction()
1082 if ((((instword & PPC_INST_MTSPR_DSCR_USER_MASK) == in emulate_instruction()
1084 ((instword & PPC_INST_MTSPR_DSCR_MASK) == in emulate_instruction()
1088 rd = (instword >> 21) & 0x1f; in emulate_instruction()