VirtualBox

Changeset 36811 in vbox


Ignore:
Timestamp:
Apr 22, 2011 1:22:08 AM (14 years ago)
Author:
vboxsync
Message:

REM: Don't set cr2 and error_code when TRPM reports a pending software or hardware interrupt, only do that for traps. (hardware int 0eh causes trouble otherwise)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/VBoxRecompiler.c

    r36794 r36811  
    24142414
    24152415        /* get error code and cr2 if needed. */
    2416         switch (u8TrapNo)
     2416        if (enmType == TRPM_TRAP)
    24172417        {
    2418             case 0x0e:
    2419                 pVM->rem.s.Env.cr[2] = TRPMGetFaultAddress(pVCpu);
    2420                 /* fallthru */
    2421             case 0x0a: case 0x0b: case 0x0c: case 0x0d:
    2422                 pVM->rem.s.Env.error_code = TRPMGetErrorCode(pVCpu);
    2423                 break;
    2424 
    2425             case 0x11: case 0x08:
    2426             default:
    2427                 pVM->rem.s.Env.error_code = 0;
    2428                 break;
     2418            switch (u8TrapNo)
     2419            {
     2420                case 0x0e:
     2421                    pVM->rem.s.Env.cr[2] = TRPMGetFaultAddress(pVCpu);
     2422                    /* fallthru */
     2423                case 0x0a: case 0x0b: case 0x0c: case 0x0d:
     2424                    pVM->rem.s.Env.error_code = TRPMGetErrorCode(pVCpu);
     2425                    break;
     2426
     2427                case 0x11: case 0x08:
     2428                default:
     2429                    pVM->rem.s.Env.error_code = 0;
     2430                    break;
     2431            }
    24292432        }
     2433        else
     2434            pVM->rem.s.Env.error_code = 0;
    24302435
    24312436        /*
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