Lines Matching defs:aPatch

2086         uint8_t         aPatch[64];
2117 aPatch[off++] = 0x51; /* push ecx */
2118 aPatch[off++] = 0x52; /* push edx */
2120 aPatch[off++] = 0x50; /* push eax */
2121 aPatch[off++] = 0x31; /* xor edx, edx */
2122 aPatch[off++] = 0xD2;
2127 aPatch[off++] = 0x89; /* mov eax, src_reg */
2128 aPatch[off++] = MAKE_MODRM(3, pDis->Param2.Base.idxGenReg, DISGREG_EAX);
2134 aPatch[off++] = 0xB8; /* mov eax, immediate */
2135 *(uint32_t *)&aPatch[off] = pDis->Param2.uValue;
2138 aPatch[off++] = 0xB9; /* mov ecx, 0xc0000082 */
2139 *(uint32_t *)&aPatch[off] = MSR_K8_LSTAR;
2142 aPatch[off++] = 0x0F; /* wrmsr */
2143 aPatch[off++] = 0x30;
2145 aPatch[off++] = 0x58; /* pop eax */
2146 aPatch[off++] = 0x5A; /* pop edx */
2147 aPatch[off++] = 0x59; /* pop ecx */
2169 aPatch[off++] = 0x51; /* push ecx */
2171 aPatch[off++] = 0x52; /* push edx */
2173 aPatch[off++] = 0x50; /* push eax */
2175 aPatch[off++] = 0x31; /* xor edx, edx */
2176 aPatch[off++] = 0xD2;
2178 aPatch[off++] = 0xB9; /* mov ecx, 0xc0000082 */
2179 *(uint32_t *)&aPatch[off] = MSR_K8_LSTAR;
2182 aPatch[off++] = 0x0F; /* rdmsr */
2183 aPatch[off++] = 0x32;
2187 aPatch[off++] = 0x89; /* mov dst_reg, eax */
2188 aPatch[off++] = MAKE_MODRM(3, DISGREG_EAX, pDis->Param1.Base.idxGenReg);
2192 aPatch[off++] = 0x58; /* pop eax */
2194 aPatch[off++] = 0x5A; /* pop edx */
2196 aPatch[off++] = 0x59; /* pop ecx */
2198 aPatch[off++] = 0xE9; /* jmp return_address */
2199 *(RTRCUINTPTR *)&aPatch[off] = ((RTRCUINTPTR)pCtx->eip + cbOp) - ((RTRCUINTPTR)pVM->hm.s.pFreeGuestPatchMem + off + 4);
2205 rc = PGMPhysSimpleWriteGCPtr(pVCpu, pVM->hm.s.pFreeGuestPatchMem, aPatch, off);