VirtualBox

Ignore:
Timestamp:
Jul 17, 2008 1:08:56 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33456
Message:

Bumped the SUPDRV_IOC_VERSION major as the changes to the fast path on NT isn't backwards compatible. Made VMMR0EntryFast return void.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/testcase/tstInt.cpp

    r8155 r10724  
    111111                pVM->paVMPagesR3 = paPages;
    112112                pVM->pSession = pSession;
     113                pVM->enmVMState = VMSTATE_CREATED;
    113114
    114115                rc = SUPSetVMForFastIOCtl(pVMR0);
     
    121122                    for (i = cIterations; i > 0; i--)
    122123                    {
    123                         rc = SUPCallVMMR0(pVMR0, VMMR0_DO_NOP, NULL);
     124                        rc = SUPCallVMMR0(pVMR0, VMMR0_DO_SLOW_NOP, NULL);
    124125                        if (rc != VINF_SUCCESS)
    125126                        {
     
    132133
    133134                    /*
    134                      * Profile it.
     135                     * The fast path.
    135136                     */
    136                     if (!rc)
     137                    if (rc == VINF_SUCCESS)
    137138                    {
    138139                        RTTimeNanoTS();
     
    143144                        {
    144145                            uint64_t OneStartTick = ASMReadTSC();
    145                             rc = SUPCallVMMR0(pVMR0, VMMR0_DO_NOP, NULL);
     146                            rc = SUPCallVMMR0Fast(pVMR0, VMMR0_DO_NOP);
    146147                            uint64_t Ticks = ASMReadTSC() - OneStartTick;
    147148                            if (Ticks < MinTicks)
     
    150151                            if (RT_UNLIKELY(rc != VINF_SUCCESS))
    151152                            {
    152                                 RTPrintf("tstInt: SUPCallVMMR0 -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
     153                                RTPrintf("tstInt: SUPCallVMMR0Fast -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
    153154                                rcRet++;
    154155                                break;
     
    158159                        uint64_t NanoSecs = RTTimeNanoTS() - StartTS;
    159160
    160                         RTPrintf("tstInt: SUPCallVMMR0    - %d iterations in %llu ns / %llu ticks. %llu ns / %#llu ticks per iteration. Min %llu ticks.\n",
     161                        RTPrintf("tstInt: SUPCallVMMR0Fast - %d iterations in %llu ns / %llu ticks. %llu ns / %#llu ticks per iteration. Min %llu ticks.\n",
    161162                                 i, NanoSecs, Ticks, NanoSecs / i, Ticks / i, MinTicks);
    162163
     
    172173                        {
    173174                            uint64_t OneStartTick = ASMReadTSC();
    174                             rc = SUPCallVMMR0Fast(pVMR0, VMMR0_DO_NOP);
     175                            rc = SUPCallVMMR0(pVMR0, VMMR0_DO_NOP, NULL);
    175176                            uint64_t Ticks = ASMReadTSC() - OneStartTick;
    176177                            if (Ticks < MinTicks)
     
    179180                            if (RT_UNLIKELY(rc != VINF_SUCCESS))
    180181                            {
    181                                 RTPrintf("tstInt: SUPCallVMMR0 -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
     182                                RTPrintf("tstInt: SUPCallVMMR0/idt -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
    182183                                rcRet++;
    183184                                break;
     
    187188                        NanoSecs = RTTimeNanoTS() - StartTS;
    188189
    189                         RTPrintf("tstInt: SUPCallVMMR0Fast - %d iterations in %llu ns / %llu ticks. %llu ns / %#llu ticks per iteration. Min %llu ticks.\n",
     190                        RTPrintf("tstInt: SUPCallVMMR0/idt - %d iterations in %llu ns / %llu ticks. %llu ns / %#llu ticks per iteration. Min %llu ticks.\n",
    190191                                 i, NanoSecs, Ticks, NanoSecs / i, Ticks / i, MinTicks);
    191192#endif /* VBOX_WITH_IDT_PATCHING */
     
    201202                        {
    202203                            uint64_t OneStartTick = ASMReadTSC();
    203                             rc = SUPCallVMMR0Ex(pVMR0, VMMR0_DO_NOP, 0, NULL);
     204                            rc = SUPCallVMMR0Ex(pVMR0, VMMR0_DO_SLOW_NOP, 0, NULL);
    204205                            uint64_t Ticks = ASMReadTSC() - OneStartTick;
    205206                            if (Ticks < MinTicks)
     
    208209                            if (RT_UNLIKELY(rc != VINF_SUCCESS))
    209210                            {
    210                                 RTPrintf("tstInt: SUPCallVMMR0 -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
     211                                RTPrintf("tstInt: SUPCallVMMR0Ex -> rc=%Vrc i=%d Expected VINF_SUCCESS!\n", rc, i);
    211212                                rcRet++;
    212213                                break;
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