VirtualBox

Changeset 49372 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Nov 3, 2013 4:24:03 AM (11 years ago)
Author:
vboxsync
Message:

testing...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/VMMTests.cpp

    r49371 r49372  
    150150    if (pReportStrm)
    151151        RTStrmPrintf(pReportStrm, "\n\n{\n");
     152
     153    static struct { uint32_t uFirst, cMsrs; } const s_aRanges[] =
     154    {
     155        { 0x00000000, 0x00042000 },
     156        { 0x10000000, 0x00001000 },
     157        { 0x20000000, 0x00001000 },
     158        { 0x40000000, 0x00012000 },
     159        { 0x80000000, 0x00012000 },
     160//        { 0xc0000000, 0x00102000 },
     161//        { 0xc0000000, 0x00010000 },
     162        { 0xc0000000, 0x00001000 },
     163        { 0xc0010000, 0x00002000 },
     164    };
    152165    uint32_t cMsrsFound = 0;
    153     int aRc[] =
    154     {
    155         vmmR3ReportMsrRange(pVM, 0x00000000, 0x00042000, pReportStrm, &cMsrsFound),
    156         vmmR3ReportMsrRange(pVM, 0x10000000, 0x00001000, pReportStrm, &cMsrsFound),
    157         vmmR3ReportMsrRange(pVM, 0x20000000, 0x00001000, pReportStrm, &cMsrsFound),
    158         vmmR3ReportMsrRange(pVM, 0x40000000, 0x00012000, pReportStrm, &cMsrsFound),
    159         vmmR3ReportMsrRange(pVM, 0x80000000, 0x00012000, pReportStrm, &cMsrsFound),
    160 //        vmmR3ReportMsrRange(pVM, 0xc0000000, 0x00102000, pReportStrm, &cMsrsFound),
    161 //        vmmR3ReportMsrRange(pVM, 0xc0000000, 0x00010000, pReportStrm, &cMsrsFound),
    162         RTStrmFlush(g_pStdOut) ? VINF_SUCCESS : VINF_SUCCESS,
    163         RTThreadSleep(16000),
    164         vmmR3ReportMsrRange(pVM, 0xc0010000, 0x00001000, pReportStrm, &cMsrsFound)
    165     };
     166    int rc = VINF_SUCCESS;
     167    for (unsigned i = 0; i < RT_ELEMENTS(s_aRanges) && RT_SUCCESS(rc); i++)
     168    {
     169if (i >= 4)
     170{
    166171RTStrmFlush(g_pStdOut);
    167     int rc = VINF_SUCCESS;
    168     for (unsigned i = 0; i < RT_ELEMENTS(aRc); i++)
    169         if (RT_FAILURE(aRc[i]))
    170         {
    171             rc = aRc[i];
    172             break;
    173         }
     172RTThreadSleep(25);
     173}
     174        rc = vmmR3ReportMsrRange(pVM, s_aRanges[i].uFirst, s_aRanges[i].cMsrs, pReportStrm, &cMsrsFound);
     175    }
     176
    174177    if (pReportStrm)
    175178        RTStrmPrintf(pReportStrm, "}; /* %u (%#x) MSRs; rc=%Rrc */\n", cMsrsFound, cMsrsFound, 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