VirtualBox

Changeset 33164 in vbox


Ignore:
Timestamp:
Oct 15, 2010 2:49:09 PM (14 years ago)
Author:
vboxsync
Message:

Can't deal with 8 byte operands in our 32-bit emulation code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp

    r31593 r33164  
    752752    if (rc == VINF_SUCCESS)
    753753    {
     754#if HC_ARCH_BITS == 32
     755        /* Can't deal with 8 byte operands in our 32-bit emulation code. */
     756        if (cb > 4)
     757            return VINF_IOM_HC_MMIO_READ_WRITE;
     758#endif
    754759        /* Emulate CMP and update guest flags. */
    755760        uint32_t eflags = EMEmulateCmp(uData1, uData2, cb);
     
    804809    if (iomGetRegImmData(pCpu, &pCpu->param1, pRegFrame, &uData1, &cb))
    805810    {
     811#if HC_ARCH_BITS == 32
     812        /* Can't deal with 8 byte operands in our 32-bit emulation code. */
     813        if (cb > 4)
     814            return VINF_IOM_HC_MMIO_READ_WRITE;
     815#endif
    806816        /* and reg, [MMIO]. */
    807817        Assert(pRange->CTX_SUFF(pfnReadCallback) || !pRange->pfnReadCallbackR3);
     
    811821    else if (iomGetRegImmData(pCpu, &pCpu->param2, pRegFrame, &uData2, &cb))
    812822    {
     823#if HC_ARCH_BITS == 32
     824        /* Can't deal with 8 byte operands in our 32-bit emulation code. */
     825        if (cb > 4)
     826            return VINF_IOM_HC_MMIO_READ_WRITE;
     827#endif
    813828        /* and [MMIO], reg|imm. */
    814829        fAndWrite = true;
     
    896911    if (rc == VINF_SUCCESS)
    897912    {
     913#if HC_ARCH_BITS == 32
     914        /* Can't deal with 8 byte operands in our 32-bit emulation code. */
     915        if (cb > 4)
     916            return VINF_IOM_HC_MMIO_READ_WRITE;
     917#endif
     918
    898919        /* Emulate TEST (=AND without write back) and update guest EFLAGS. */
    899920        uint32_t eflags = EMEmulateAnd((uint32_t *)&uData1, uData2, cb);
Note: See TracChangeset for help on using the changeset viewer.

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