VirtualBox

Changeset 99221 in vbox for trunk


Ignore:
Timestamp:
Mar 30, 2023 12:48:09 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156594
Message:

Disassember,*: Start separating the disassembler into a architecture specific and common part, bugref:10394 [build fixes]

Location:
trunk/src/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/testcase/tstDisasm-1.cpp

    r98103 r99221  
    8989        DISSTATE        DisOnly;
    9090        rc = DISInstrWithPrefetchedBytes((uintptr_t)&pabInstrs[off], enmDisCpuMode,  0 /*fFilter - none */,
    91                                          Dis.abInstr, Dis.cbCachedInstr, NULL, NULL, &DisOnly, &cbOnly);
     91                                         Dis.u.abInstr, Dis.cbCachedInstr, NULL, NULL, &DisOnly, &cbOnly);
    9292
    9393        RTTESTI_CHECK_RC(rc, VINF_SUCCESS);
  • trunk/src/VBox/HostDrivers/Support/posix/SUPR3HardenedMain-posix.cpp

    r99220 r99221  
    365365            return VERR_SUPLIB_UNEXPECTED_INSTRUCTION;
    366366
    367         if (Dis.arch.x86.ModRM.Bits.Mod == 0 && Dis.ModRM.Bits.Rm == 5 /* wrt RIP */)
     367        if (Dis.arch.x86.ModRM.Bits.Mod == 0 && Dis.arch.x86.ModRM.Bits.Rm == 5 /* wrt RIP */)
    368368            cRipRelMovs++;
    369369        if (   Dis.pCurInstr->uOpcode == OP_CALL
     
    427427                return VERR_SUPLIB_UNEXPECTED_INSTRUCTION;
    428428
    429             uintptr_t uAddr = (uintptr_t)&pbTarget[offInsn + cbInstr] + (intptr_t)Dis.Param2.uDisp.i32;
     429            uintptr_t uAddr = (uintptr_t)&pbTarget[offInsn + cbInstr] + (intptr_t)Dis.Param2.arch.x86.uDisp.i32;
    430430
    431431            if (fConvRipRelMovs)
     
    443443                *pbPatchMem++ = 0x48;
    444444                *pbPatchMem++ = 0x8b;
    445                 *pbPatchMem++ = (Dis.Param1.Base.arch.x86.idxGenReg << X86_MODRM_REG_SHIFT) | Dis.Param1.Base.arch.x86.idxGenReg;
     445                *pbPatchMem++ = (Dis.Param1.arch.x86.Base.idxGenReg << X86_MODRM_REG_SHIFT) | Dis.Param1.Base.arch.x86.idxGenReg;
    446446            }
    447447            else
  • trunk/src/VBox/Runtime/testcase/tstLdrDisasmTest.cpp

    r99208 r99221  
    4646*********************************************************************************************************************************/
    4747#include <VBox/dis.h>
    48 #include <VBox/disopcode.h>
    4948#include <VBox/sup.h>
    5049#include <iprt/string.h>
     
    9897    if (cb + pDis->uInstrAddr + offInstr > sizeof(g_ab32BitCode))
    9998        cb = cbMinRead;
    100     memcpy(&pDis->abInstr[offInstr], &g_ab32BitCode[pDis->uInstrAddr + offInstr], cb);
     99    memcpy(&pDis->u.abInstr[offInstr], &g_ab32BitCode[pDis->uInstrAddr + offInstr], cb);
    101100    pDis->cbCachedInstr = offInstr + (uint8_t)cb;
    102101    return VINF_SUCCESS;
     
    113112    *pcb = cb;
    114113    MY_PRINTF(("DISCoreOneEx -> rc=%d cb=%d  Cpu: bOpCode=%#x pCurInstr=%p (42=%d)\n", \
    115                rc, cb, pDis->bOpCode, pDis->pCurInstr, 42)); \
     114               rc, cb, pDis->arch.x86.bOpCode, pDis->pCurInstr, 42)); \
    116115    return rc;
    117116}
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette