VirtualBox

Changeset 106136 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Sep 24, 2024 9:32:39 AM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164914
Message:

VMM/IEM: # padding. bugref:10720

File:
1 edited

Legend:

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

    r106134 r106136  
    88318831    PCIEMTB                 pTb;
    88328832    PCIEMNATIVEPERCHUNKCTX  pCtx;
    8833 # ifdef IEMNATIVE_WITH_TB_DEBUG_INFO
     8833#ifdef IEMNATIVE_WITH_TB_DEBUG_INFO
    88348834    PCIEMTBDBG              pDbgInfo;
    8835 # endif
     8835#endif
    88368836} IEMNATIVDISASMSYMCTX;
    88378837typedef IEMNATIVDISASMSYMCTX *PIEMNATIVDISASMSYMCTX;
     
    89158915            }
    89168916        }
    8917 #endif
     8917#endif /* IEMNATIVE_WITH_TB_DEBUG_INFO */
    89188918    }
    89198919    else
     
    92039203                        }
    92049204
    9205 #ifdef IEMNATIVE_WITH_SIMD_REG_ALLOCATOR
     9205# ifdef IEMNATIVE_WITH_SIMD_REG_ALLOCATOR
    92069206                        case kIemTbDbgEntryType_GuestSimdRegShadowing:
    92079207                        {
     
    92209220                            continue;
    92219221                        }
    9222 #endif
     9222# endif
    92239223
    92249224                        case kIemTbDbgEntryType_Label:
     
    92419241                            break;
    92429242
    9243 #ifdef IEMNATIVE_WITH_DELAYED_PC_UPDATING
     9243# ifdef IEMNATIVE_WITH_DELAYED_PC_UPDATING
    92449244                        case kIemTbDbgEntryType_DelayedPcUpdate:
    92459245                            pHlp->pfnPrintf(pHlp, "  Updating guest PC value by %u (cInstrSkipped=%u)\n",
     
    92479247                                            pDbgInfo->aEntries[iDbgEntry].DelayedPcUpdate.cInstrSkipped);
    92489248                            continue;
    9249 #endif
    9250 
    9251 #ifdef IEMNATIVE_WITH_DELAYED_REGISTER_WRITEBACK
     9249# endif
     9250
     9251# ifdef IEMNATIVE_WITH_DELAYED_REGISTER_WRITEBACK
    92529252                        case kIemTbDbgEntryType_GuestRegDirty:
    92539253                        {
     
    92709270                                            << (pDbgInfo->aEntries[iDbgEntry].GuestRegWriteback.cShift * 25));
    92719271                            continue;
    9272 #endif
     9272# endif
    92739273
    92749274                        default:
     
    94639463        {
    94649464            PCIEMNATIVEINSTR const pNativeCur = &paNative[offNative];
    9465 # ifndef VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER
     9465#ifndef VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER
    94669466            uint32_t               cbInstr    = sizeof(paNative[0]);
    94679467            int const              rc         = DISInstr(pNativeCur, enmHstCpuMode, &Dis, &cbInstr);
    94689468            if (RT_SUCCESS(rc))
    94699469            {
    9470 #  if defined(RT_ARCH_AMD64)
     9470# if defined(RT_ARCH_AMD64)
    94719471                if (Dis.pCurInstr->uOpcode == OP_NOP && cbInstr == 7) /* iemNativeEmitMarker */
    94729472                {
     
    94839483                }
    94849484                else
    9485 #  endif
     9485# endif
    94869486                {
    9487 #  ifdef RT_ARCH_AMD64
     9487# ifdef RT_ARCH_AMD64
    94889488                    DISFormatYasmEx(&Dis, szDisBuf, sizeof(szDisBuf),
    94899489                                    DIS_FMT_FLAGS_BYTES_WIDTH_MAKE(10) | DIS_FMT_FLAGS_BYTES_LEFT
    94909490                                    | DIS_FMT_FLAGS_RELATIVE_BRANCH | DIS_FMT_FLAGS_C_HEX,
    94919491                                    iemNativeDisasmGetSymbolCb, &SymCtx);
    9492 #  elif defined(RT_ARCH_ARM64)
     9492# elif defined(RT_ARCH_ARM64)
    94939493                    DISFormatArmV8Ex(&Dis, szDisBuf, sizeof(szDisBuf),
    94949494                                     DIS_FMT_FLAGS_BYTES_LEFT | DIS_FMT_FLAGS_RELATIVE_BRANCH | DIS_FMT_FLAGS_C_HEX,
    94959495                                     iemNativeDisasmGetSymbolCb, &SymCtx);
    9496 #  else
    9497  error "Port me"
    9498 #  endif
     9496# else
     9497error "Port me"
     9498# endif
    94999499                    pHlp->pfnPrintf(pHlp, "    %p: %s\n", pNativeCur, szDisBuf);
    95009500                }
     
    95029502            else
    95039503            {
    9504 #  if defined(RT_ARCH_AMD64)
     9504# if defined(RT_ARCH_AMD64)
    95059505                pHlp->pfnPrintf(pHlp, "    %p:  %.*Rhxs - disassembly failure %Rrc\n",
    95069506                                pNativeCur, RT_MIN(cNative - offNative, 16), pNativeCur, rc);
    9507 #  else
     9507# else
    95089508                pHlp->pfnPrintf(pHlp, "    %p:  %#010RX32 - disassembly failure %Rrc\n", pNativeCur, *pNativeCur, rc);
    9509 #  endif
     9509# endif
    95109510                cbInstr = sizeof(paNative[0]);
    95119511            }
    95129512            offNative += cbInstr / sizeof(paNative[0]);
    95139513
    9514 # else  /* VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER */
     9514#else  /* VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER */
    95159515            cs_insn *pInstr;
    95169516            size_t   cInstrs = cs_disasm(hDisasm, (const uint8_t *)pNativeCur, (cNative - offNative) * sizeof(*pNativeCur),
     
    95219521                const char * const pszAnnotation = iemNativeDisasmAnnotateCapstone(&SymCtx, pInstr, szDisBuf, sizeof(szDisBuf));
    95229522                size_t const       cchOp         = strlen(pInstr->op_str);
    9523 #  if defined(RT_ARCH_AMD64)
     9523# if defined(RT_ARCH_AMD64)
    95249524                if (pszAnnotation)
    95259525                    pHlp->pfnPrintf(pHlp, "    %p: %.*Rhxs %-7s %s%*s ; %s\n",
     
    95309530                                    pNativeCur, pInstr->size, pNativeCur, pInstr->mnemonic, pInstr->op_str);
    95319531
    9532 #  else
     9532# else
    95339533                if (pszAnnotation)
    95349534                    pHlp->pfnPrintf(pHlp, "    %p: %#010RX32 %-7s %s%*s ; %s\n",
     
    95389538                    pHlp->pfnPrintf(pHlp, "    %p: %#010RX32 %-7s %s\n",
    95399539                                    pNativeCur, *pNativeCur, pInstr->mnemonic, pInstr->op_str);
    9540 #  endif
     9540# endif
    95419541                offNative += pInstr->size / sizeof(*pNativeCur);
    95429542                cs_free(pInstr, cInstrs);
     
    95449544            else
    95459545            {
    9546 #  if defined(RT_ARCH_AMD64)
     9546# if defined(RT_ARCH_AMD64)
    95479547                pHlp->pfnPrintf(pHlp, "    %p:  %.*Rhxs - disassembly failure %d\n",
    95489548                                pNativeCur, RT_MIN(cNative - offNative, 16), pNativeCur, cs_errno(hDisasm)));
    9549 #  else
     9549# else
    95509550                pHlp->pfnPrintf(pHlp, "    %p:  %#010RX32 - disassembly failure %d\n", pNativeCur, *pNativeCur, cs_errno(hDisasm));
    9551 #  endif
     9551# endif
    95529552                offNative++;
    95539553            }
    9554 # endif /* VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER */
     9554#endif /* VBOX_WITH_IEM_USING_CAPSTONE_DISASSEMBLER */
    95559555        }
    95569556    }
     
    95719571        PIEMNATIVEINSTR pCodeBuf = iemNativeInstrBufEnsure(pReNative, off, fAlignMask + 1);
    95729572        while (off & fAlignMask)
    9573 # if   defined(RT_ARCH_AMD64)
     9573#if   defined(RT_ARCH_AMD64)
    95749574            pCodeBuf[off++] = 0xcc;
    9575 # elif defined(RT_ARCH_ARM64)
     9575#elif defined(RT_ARCH_ARM64)
    95769576            pCodeBuf[off++] = Armv8A64MkInstrBrk(0xcccc);
    9577 # else
    9578 #  error "port me"
    9579 # endif
     9577#else
     9578# error "port me"
     9579#endif
    95809580    }
    95819581    return off;
     
    96099609    AssertReturn(pReNative, VERR_NO_MEMORY);
    96109610
    9611 # if   defined(RT_ARCH_AMD64)
     9611#if   defined(RT_ARCH_AMD64)
    96129612    uint32_t const fAlignMask = 15;
    9613 # elif defined(RT_ARCH_ARM64)
     9613#elif defined(RT_ARCH_ARM64)
    96149614    uint32_t const fAlignMask = 31 / 4;
    9615 # else
    9616 #  error "port me"
    9617 # endif
     9615#else
     9616# error "port me"
     9617#endif
    96189618    uint32_t aoffLabels[kIemNativeLabelType_LastTbExit + 1] = {0};
    96199619    int      rc  = VINF_SUCCESS;
     
    97229722            else
    97239723            {
    9724 # ifdef VBOX_STRICT
     9724#ifdef VBOX_STRICT
    97259725                off = iemNativeEmitBrk(pReNative, off, 0x2201);
    9726 # endif
     9726#endif
    97279727                off = iemNativeEmitJmpToFixed(pReNative, off, offReturnWithStatus);
    97289728            }
     
    97309730
    97319731
    9732 # ifdef VBOX_STRICT
     9732#ifdef VBOX_STRICT
    97339733        /* Make sure we've generate code for all labels. */
    97349734        for (uint32_t i = kIemNativeLabelType_Invalid + 1; i < RT_ELEMENTS(aoffLabels); i++)
    97359735            Assert(aoffLabels[i] != 0 || i == kIemNativeLabelType_ReturnSuccess);
    9736 # endif
     9736#endif
    97379737    }
    97389738    IEMNATIVE_CATCH_LONGJMP_BEGIN(pReNative, rc);
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