VirtualBox

Changeset 1580 in vbox for trunk/src


Ignore:
Timestamp:
Mar 20, 2007 8:08:01 PM (18 years ago)
Author:
vboxsync
Message:

Corrected VBOXTSS member name.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/SELM.cpp

    r1552 r1580  
    108108    AssertRelease((RT_OFFSETOF(VM, selm.s.Tss)       & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.Tss));
    109109    AssertRelease((RT_OFFSETOF(VM, selm.s.TssTrap08) & PAGE_OFFSET_MASK) <= PAGE_SIZE - sizeof(pVM->selm.s.TssTrap08));
    110     AssertRelease(sizeof(pVM->selm.s.Tss.redirBitmap) == 0x20);
     110    AssertRelease(sizeof(pVM->selm.s.Tss.IntRedirBitmap) == 0x20);
    111111
    112112    /*
     
    153153    pVM->selm.s.Tss.offIoBitmap = sizeof(VBOXTSS);
    154154    /* bit set to 1 means no redirection */
    155     memset(pVM->selm.s.Tss.redirBitmap, 0xff, sizeof(pVM->selm.s.Tss.redirBitmap));
     155    memset(pVM->selm.s.Tss.IntRedirBitmap, 0xff, sizeof(pVM->selm.s.Tss.IntRedirBitmap));
    156156
    157157    /*
     
    14301430                                  || pDesc->Gen.u4Type == X86_SEL_TYPE_SYS_386_TSS_BUSY;
    14311431
    1432         /** @note we should monitor the whole TSS to catch accesses to the virtual interrupt redirection bitmap, but
    1433          *        that causes some problems and with Windows guests some overhead as the entire TSS is rather big (3 pages).
    1434          *        We'll assume for now that the bitmap is static.
     1432        /* Note: We should monitor the whole TSS to catch accesses to the virtual interrupt redirection bitmap, but
     1433         *       that causes some problems and with Windows guests some overhead as the entire TSS is rather big (3 pages).
     1434         *       We'll assume for now that the bitmap is static.
    14351435         */
    14361436#if 1
     
    15171517                if (CPUMGetGuestCR4(pVM) & X86_CR4_VME)
    15181518                {
    1519                     uint32_t offRedirBitmap = tss.offIoBitmap - sizeof(tss.redirBitmap);
     1519                    uint32_t offRedirBitmap = tss.offIoBitmap - sizeof(tss.IntRedirBitmap);
    15201520                   
    15211521                    /** @todo not sure how the partial case is handled; probably not allowed */
    1522                     if (offRedirBitmap + sizeof(tss.redirBitmap) <= cbTss)
     1522                    if (offRedirBitmap + sizeof(tss.IntRedirBitmap) <= cbTss)
    15231523                    {
    1524                         rc = PGMPhysReadGCPtr(pVM, &pVM->selm.s.Tss.redirBitmap, GCPtrTss + offRedirBitmap, sizeof(tss.redirBitmap));
     1524                        rc = PGMPhysReadGCPtr(pVM, &pVM->selm.s.Tss.IntRedirBitmap, GCPtrTss + offRedirBitmap, sizeof(tss.IntRedirBitmap));
    15251525                        AssertRC(rc);
    15261526                        Log2(("Redirection bitmap:\n"));
    1527                         Log2(("%.*Vhxd\n", sizeof(tss.redirBitmap), &pVM->selm.s.Tss.redirBitmap));
     1527                        Log2(("%.*Vhxd\n", sizeof(tss.IntRedirBitmap), &pVM->selm.s.Tss.IntRedirBitmap));
    15281528                    }
    15291529                }
  • trunk/src/VBox/VMM/TRPMInternal.mac

    r1524 r1580  
    113113    .fDebugTrap         resw 1
    114114    .offIoBitmap        resw 1
    115     .redirBitmap        resb 32
     115    .IntRedirBitmap     resb 32
    116116endstruc
    117117
  • trunk/src/VBox/VMM/VMMGC/SELMGC.cpp

    r1504 r1580  
    287287        if (CPUMGetGuestCR4(pVM) & X86_CR4_VME)
    288288        {
    289             uint32_t offRedirBitmap = pGuestTSS->offIoBitmap - sizeof(pVM->selm.s.Tss.redirBitmap);
     289            uint32_t offIntRedirBitmap = pGuestTSS->offIoBitmap - sizeof(pVM->selm.s.Tss.IntRedirBitmap);
    290290
    291291            /** @todo not sure how the partial case is handled; probably not allowed */
    292             if (   offRedirBitmap <= offRange
    293                 && offRedirBitmap + sizeof(pVM->selm.s.Tss.redirBitmap) >= offRange + cb
    294                 && offRedirBitmap + sizeof(pVM->selm.s.Tss.redirBitmap) <= pVM->selm.s.cbGuestTss)
     292            if (   offIntRedirBitmap <= offRange
     293                && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) >= offRange + cb
     294                && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) <= pVM->selm.s.cbGuestTss)
    295295            {
    296                 Log(("offIoBitmap=%x offRedirBitmap=%x cbTSS=%x\n", pGuestTSS->offIoBitmap, offRedirBitmap, pVM->selm.s.cbGuestTss));
     296                Log(("offIoBitmap=%x offIntRedirBitmap=%x cbTSS=%x\n", pGuestTSS->offIoBitmap, offIntRedirBitmap, pVM->selm.s.cbGuestTss));
    297297                /** @todo only update the changed part. */
    298                 for (uint32_t i=0;i<sizeof(pVM->selm.s.Tss.redirBitmap)/8;i++)
     298                for (uint32_t i = 0; i < sizeof(pVM->selm.s.Tss.IntRedirBitmap) / 8;i++)
    299299                {
    300                     rc = MMGCRamRead(pVM, &pVM->selm.s.Tss.redirBitmap[i*8], (uint8_t *)pGuestTSS + offRedirBitmap + i*8, 8);
     300                    rc = MMGCRamRead(pVM, &pVM->selm.s.Tss.IntRedirBitmap[i * 8], (uint8_t *)pGuestTSS + offIntRedirBitmap + i * 8, 8);
    301301                    if (VBOX_FAILURE(rc))
    302302                    {
    303303                        /* Shadow page table might be out of sync */
    304                         rc = PGMPrefetchPage(pVM, (uint8_t *)pGuestTSS + offRedirBitmap + i*8);
     304                        rc = PGMPrefetchPage(pVM, (uint8_t *)pGuestTSS + offIntRedirBitmap + i*8);
    305305                        if (VBOX_FAILURE(rc))
    306306                        {
    307                             AssertMsg(rc == VINF_SUCCESS, ("PGMPrefetchPage %VGv failed with %Vrc\n", (uint8_t *)pGuestTSS + offRedirBitmap + i*8, rc));
     307                            AssertMsg(rc == VINF_SUCCESS, ("PGMPrefetchPage %VGv failed with %Vrc\n", (uint8_t *)pGuestTSS + offIntRedirBitmap + i*8, rc));
    308308                            break;
    309309                        }
    310                         rc = MMGCRamRead(pVM, &pVM->selm.s.Tss.redirBitmap[i*8], (uint8_t *)pGuestTSS + offRedirBitmap + i*8, 8);
     310                        rc = MMGCRamRead(pVM, &pVM->selm.s.Tss.IntRedirBitmap[i * 8], (uint8_t *)pGuestTSS + offIntRedirBitmap + i * 8, 8);
    311311                    }
    312                     AssertMsg(rc == VINF_SUCCESS, ("MMGCRamRead %VGv failed with %Vrc\n", (uint8_t *)pGuestTSS + offRedirBitmap + i*8, rc));
     312                    AssertMsg(rc == VINF_SUCCESS, ("MMGCRamRead %VGv failed with %Vrc\n", (uint8_t *)pGuestTSS + offIntRedirBitmap + i * 8, rc));
    313313                }
    314314                STAM_COUNTER_INC(&pVM->selm.s.StatGCWriteGuestTSSRedir);
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