VirtualBox

Changeset 19986 in vbox


Ignore:
Timestamp:
May 25, 2009 9:23:06 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
47692
Message:

Removed test code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r19985 r19986  
    29072907
    29082908        LogFlow(("EPT Page fault %x at %RGp error code %x\n", (uint32_t)exitQualification, GCPhys, errCode));
    2909 
    2910         /* Shortcut for APIC TPR reads and writes. */
    2911         if ((GCPhys & 0xfff) == 0x080)
    2912         {
    2913             RTGCPHYS GCPhysApicBase;
    2914             PDMApicGetBase(pVM, &GCPhysApicBase);
    2915             if (GCPhys == GCPhysApicBase + 0x80)
    2916             {
    2917                 DISCPUSTATE Cpu;
    2918                 uint32_t    cbOp;
    2919                 Cpu.mode = SELMGetCpuModeFromSelector(pVM, pCtx->eflags, pCtx->cs, &pCtx->csHid);
    2920 
    2921                 rc = EMInterpretDisasOne(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu, &cbOp);
    2922                 if (    rc == VINF_SUCCESS
    2923                     &&  Cpu.pCurInstr->opcode == OP_MOV)
    2924                 {
    2925                     if (    (errCode & X86_TRAP_PF_RW)
    2926                         &&  (Cpu.param2.flags == USE_REG_GEN32))
    2927                     {
    2928                         uint32_t val;
    2929 
    2930                         DISFetchReg32(CPUMCTX2CORE(pCtx), Cpu.param2.base.reg_gen, &val);
    2931 
    2932                         rc = PDMApicSetTPR(pVM, val >> 4);
    2933                         goto ResumeExecution;
    2934                     }
    2935                     else
    2936                     if (Cpu.param1.flags == USE_REG_GEN32)
    2937                     {
    2938                         uint8_t u8TPR;
    2939                         bool    fPending;
    2940 
    2941                         rc = PDMApicGetTPR(pVM, &u8TPR, &fPending);
    2942                         AssertRC(rc);
    2943                        
    2944                         DISWriteReg32(CPUMCTX2CORE(pCtx), Cpu.param1.base.reg_gen, u8TPR << 4);
    2945                         goto ResumeExecution;
    2946                     }
    2947                 }
    2948             }
    2949         }
    29502909
    29512910        /* GCPhys contains the guest physical address of the page fault. */
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