VirtualBox

Changeset 39998 in vbox


Ignore:
Timestamp:
Feb 4, 2012 4:06:05 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
76109
Message:

tstX86-1: Display CR2.

Location:
trunk/src/VBox/VMM/testcase
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/tstX86-1.cpp

    r39995 r39998  
    2525#include <iprt/err.h>
    2626#include <iprt/assert.h>
     27#include <iprt/x86.h>
    2728
    2829#ifdef RT_OS_WINDOWS
     
    9899    uintptr_t   uTrapNo = pCtx->uc_mcontext->__es.__trapno;
    99100    uintptr_t   uErr    = pCtx->uc_mcontext->__es.__err;
     101    uintptr_t   uCr2    = pCtx->uc_mcontext->__es.__faultvaddr;
    100102
    101103# elif defined(RT_ARCH_AMD64) && defined(RT_OS_FREEBSD)
     
    104106    uintptr_t   uTrapNo = ~(uintptr_t)0;
    105107    uintptr_t   uErr    = ~(uintptr_t)0;
     108    uintptr_t   uCr2    = ~(uintptr_t)0;
    106109
    107110# elif defined(RT_ARCH_AMD64)
     
    110113    uintptr_t   uTrapNo = pCtx->uc_mcontext.gregs[REG_TRAPNO];
    111114    uintptr_t   uErr    = pCtx->uc_mcontext.gregs[REG_ERR];
     115    uintptr_t   uCr2    = pCtx->uc_mcontext.gregs[REG_CR2];
    112116
    113117# elif defined(RT_ARCH_X86) && defined(RT_OS_DARWIN)
     
    116120    uintptr_t   uTrapNo = pCtx->uc_mcontext->__es.__trapno;
    117121    uintptr_t   uErr    = pCtx->uc_mcontext->__es.__err;
     122    uintptr_t   uCr2    = pCtx->uc_mcontext->__es.__faultvaddr;
    118123
    119124# elif defined(RT_ARCH_X86) && defined(RT_OS_FREEBSD)
     
    122127    uintptr_t   uTrapNo = ~(uintptr_t)0;
    123128    uintptr_t   uErr    = ~(uintptr_t)0;
     129    uintptr_t   uCr2    = ~(uintptr_t)0;
    124130
    125131# elif defined(RT_ARCH_X86)
     
    128134    uintptr_t   uTrapNo = pCtx->uc_mcontext.gregs[REG_TRAPNO];
    129135    uintptr_t   uErr    = pCtx->uc_mcontext.gregs[REG_ERR];
     136    uintptr_t   uCr2    = pCtx->uc_mcontext.gregs[REG_CR2];
    130137
    131138# else
     
    134141    uintptr_t   uTrapNo = ~(uintptr_t)0;
    135142    uintptr_t   uErr    = ~(uintptr_t)0;
     143    uintptr_t   uCr2    = ~(uintptr_t)0;
    136144# endif
    137     RTAssertMsg2("tstX86-1: Trap #%#04x err=%#06x at %p\n", uTrapNo, uErr, *puPC);
     145    if (uTrapNo == X86_XCPT_PF)
     146        RTAssertMsg2("tstX86-1: Trap #%#04x err=%#06x at %p / %p\n", uTrapNo, uErr, *puPC, uCr2);
     147    else
     148        RTAssertMsg2("tstX86-1: Trap #%#04x err=%#06x at %p\n", uTrapNo, uErr, *puPC);
    138149
    139150    PCTRAPINFO pTrapInfo = findTrapInfo(*puPC, *puSP);
  • trunk/src/VBox/VMM/testcase/tstX86-1A.asm

    r39997 r39998  
    12081208        add     ebx, 16
    12091209        cmp     ebx, 512
    1210         jb      .fxrstor_pf_effect_loop
     1210        jbe     .fxrstor_pf_effect_loop
    12111211
    12121212.success:
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