Changeset 105734 in vbox
- Timestamp:
- Aug 19, 2024 5:06:09 PM (6 weeks ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
include/iprt/armv8.h (modified) (1 diff)
-
src/VBox/Disassembler/DisasmCore-armv8.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/armv8.h
r105732 r105734 284 284 | (((a_CRm) & 0xf) << 3) \ 285 285 | ((a_Op2) & 0x7)) 286 #define ARMV8_AARCH64_SYSREG_ID_CREATE_DYN(a_Op0, a_Op1, a_CRn, a_CRm, a_Op2) \ 287 (uint16_t)( (((a_Op0) & 0x3) << 14) \ 288 | (((a_Op1) & 0x7) << 11) \ 289 | (((a_CRn) & 0xf) << 7) \ 290 | (((a_CRm) & 0xf) << 3) \ 291 | ((a_Op2) & 0x7)) 286 292 /** Returns the internal system register ID from the given MRS/MSR instruction. */ 287 293 #define ARMV8_AARCH64_SYSREG_ID_FROM_MRS_MSR(a_MsrMrsInsn) \ -
trunk/src/VBox/Disassembler/DisasmCore-armv8.cpp
r105731 r105734 296 296 /* Assumes a op0:op1:CRn:CRm:op2 encoding in the instruction starting at the given bit position. */ 297 297 uint32_t u32ImmRaw = disArmV8ExtractBitVecFromInsn(u32Insn, pInsnParm->idxBitStart, pInsnParm->cBits); 298 pParam->armv8.Reg.idSysReg = ARMV8_AARCH64_SYSREG_ID_CREATE (2 + ((u32ImmRaw >> 14) & 0x1),299 (u32ImmRaw >> 11) & 0x7,300 (u32ImmRaw >> 7) & 0xf,301 (u32ImmRaw >> 3) & 0xf,302 u32ImmRaw & 0x7);298 pParam->armv8.Reg.idSysReg = ARMV8_AARCH64_SYSREG_ID_CREATE_DYN(2 + ((u32ImmRaw >> 14) & 0x1), 299 (u32ImmRaw >> 11) & 0x7, 300 (u32ImmRaw >> 7) & 0xf, 301 (u32ImmRaw >> 3) & 0xf, 302 u32ImmRaw & 0x7); 303 303 pParam->armv8.cb = 0; 304 304 pParam->fUse |= DISUSE_REG_SYSTEM;
Note:
See TracChangeset
for help on using the changeset viewer.

