VirtualBox

Changeset 6546 in vbox


Ignore:
Timestamp:
Jan 28, 2008 9:58:59 PM (17 years ago)
Author:
vboxsync
Message:

VBOX_WITH_NEW_PHYS_CODE changes mostly realted to REM. Killed a warning in cpu-exec.c.

Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/mm.h

    r6528 r6546  
    114114/** @} */
    115115
     116#ifndef VBOX_WITH_NEW_PHYS_CODE
    116117/** @name MMR3PhysRegisterEx registration type
    117118 * @{
     
    127128} MMPHYSREG;
    128129/** @} */
     130#endif
    129131
    130132/**
     
    881883 * @param   pszDesc     Description of the memory.
    882884 * @thread  The Emulation Thread.
     885 *
     886 * @todo    This will only be used for registering MMIO2 memory from devices. So, rename it.
    883887 */
    884888MMR3DECL(int) MMR3PhysRegister(PVM pVM, void *pvRam, RTGCPHYS GCPhys, unsigned cb, unsigned fFlags, const char *pszDesc);
    885889
     890#ifndef VBOX_WITH_NEW_PHYS_CODE
    886891/**
    887892 * Register externally allocated RAM for the virtual machine.
     
    900905 * @thread  The Emulation Thread.
    901906 * @todo update this description.
     907 * @deprecated  For the old dynamic allocation code only. Will be removed with VBOX_WITH_NEW_PHYS_CODE.
    902908 */
    903909MMR3DECL(int) MMR3PhysRegisterEx(PVM pVM, void *pvRam, RTGCPHYS GCPhys, unsigned cb, unsigned fFlags, MMPHYSREG enmType, const char *pszDesc);
     910#endif /* !VBOX_WITH_NEW_PHYS_CODE */
    904911
    905912/**
  • trunk/include/VBox/pgm.h

    r6532 r6546  
    14141414PGMR3DECL(int) PGMR3ChangeShwPDMappings(PVM pVM, bool fEnable);
    14151415
     1416#ifndef VBOX_WITH_NEW_PHYS_CODE
    14161417/**
    14171418 * Allocate missing physical pages for an existing guest RAM range.
     
    14221423 */
    14231424PGMR3DECL(int) PGM3PhysGrowRange(PVM pVM, RTGCPHYS GCPhys);
     1425#endif /* !VBOX_WITH_NEW_PHYS_CODE */
    14241426
    14251427/**
     
    14421444PGMR3DECL(int) PGMR3PhysRegister(PVM pVM, void *pvRam, RTGCPHYS GCPhys, size_t cb, unsigned fFlags, const SUPPAGE *paPages, const char *pszDesc);
    14431445
     1446#ifndef VBOX_WITH_NEW_PHYS_CODE
    14441447/**
    14451448 * Register a chunk of a the physical memory range with PGM. MM is responsible
     
    14571460 */
    14581461PGMR3DECL(int) PGMR3PhysRegisterChunk(PVM pVM, void *pvRam, RTGCPHYS GCPhys, size_t cb, unsigned fFlags, const SUPPAGE *paPages, const char *pszDesc);
     1462#endif /* !VBOX_WITH_NEW_PHYS_CODE */
    14591463
    14601464/**
  • trunk/include/VBox/rem.h

    r5999 r6546  
    284284 * @param   cb          Size of the memory.
    285285 * @param   fFlags      Flags of the MM_RAM_FLAGS_* defines.
    286  * @param   pvRam       The HC address of the RAM.
    287  */
    288 REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, void *pvRam, unsigned fFlags);
    289 
     286 */
     287REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, unsigned fFlags);
     288
     289#ifndef VBOX_WITH_NEW_PHYS_CODE
    290290/**
    291291 * Notification about a successful PGMR3PhysRegisterChunk() call.
     
    298298 */
    299299REMR3DECL(void) REMR3NotifyPhysRamChunkRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, RTHCUINTPTR pvRam, unsigned fFlags);
     300#endif
    300301
    301302/**
     
    307308 * @param   pvCopy      Pointer to the ROM copy.
    308309 * @param   fShadow     Whether it's currently writable shadow ROM or normal readonly ROM.
    309  *                      This function will be called when ever the protection of the 
     310 *                      This function will be called when ever the protection of the
    310311 *                      shadow ROM changes (at reset and end of POST).
    311312 */
  • trunk/src/VBox/VMM/MM.cpp

    r6535 r6546  
    216216        Log(("MM: %llu bytes of RAM%s\n", cbRam, fPreAlloc ? " (PreAlloc)" : ""));
    217217        pVM->mm.s.cbRamBase = cbRam & X86_PTE_PAE_PG_MASK;
    218         rc = MMR3PhysRegister(pVM, NULL, 0, pVM->mm.s.cbRamBase, MM_RAM_FLAGS_DYNAMIC_ALLOC, "Main Memory");
     218        rc = MMR3PhysRegisterEx(pVM, NULL, 0, pVM->mm.s.cbRamBase, MM_RAM_FLAGS_DYNAMIC_ALLOC, MM_PHYS_TYPE_NORMAL, "Main Memory");
    219219        if (RT_SUCCESS(rc))
    220220        {
  • trunk/src/VBox/VMM/MMPhys.cpp

    r6535 r6546  
    7070 * @param   pszDesc     Description of the memory.
    7171 * @thread  The Emulation Thread.
     72 *
     73 * @deprecated  For the old dynamic allocation code only. Will be removed with VBOX_WITH_NEW_PHYS_CODE.
    7274 */
    7375/** @todo this function description is not longer up-to-date */
     
    134136                pVM->mm.s.cbRamRegistered += cb;
    135137
    136             REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, pvRam, fFlags);
     138            REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, fFlags);
    137139            return rc;
    138140        }
     
    167169                        pVM->mm.s.cbRamRegistered += cb;
    168170
    169                     REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, pvRam, fFlags);
     171                    REMR3NotifyPhysRamRegister(pVM, GCPhys, cb, fFlags);
    170172                    return rc;
    171173                }
     
    253255        /// @todo one day provide a proper MMIO relocation operation
    254256        REMR3NotifyPhysReserve(pVM, GCPhysOld, cb);
    255         REMR3NotifyPhysRamRegister(pVM, GCPhysNew, cb, pCur->pv,
    256                 pCur->aPhysPages[0].Phys & (MM_RAM_FLAGS_RESERVED | MM_RAM_FLAGS_ROM | MM_RAM_FLAGS_MMIO | MM_RAM_FLAGS_MMIO2));
     257        REMR3NotifyPhysRamRegister(pVM, GCPhysNew, cb,
     258                                   pCur->aPhysPages[0].Phys & (MM_RAM_FLAGS_RESERVED | MM_RAM_FLAGS_ROM | MM_RAM_FLAGS_MMIO | MM_RAM_FLAGS_MMIO2));
    257259    }
    258260
  • trunk/src/VBox/VMM/PGMPhys.cpp

    r6544 r6546  
    252252}
    253253
     254#ifndef VBOX_WITH_NEW_PHYS_CODE
    254255
    255256/**
     
    369370}
    370371
    371 #ifndef VBOX_WITH_NEW_PHYS_CODE
    372372
    373373/**
  • trunk/src/VBox/VMM/REMInternal.h

    r5999 r6546  
    251251
    252252#ifdef REM_INCLUDE_CPU_H
    253 bool    remR3CanExecuteRaw(CPUState *env, RTGCPTR eip, unsigned fFlags, uint32_t *pExceptionIndex);
     253bool    remR3CanExecuteRaw(CPUState *env, RTGCPTR eip, unsigned fFlags, int *piException);
    254254void    remR3CSAMCheckEIP(CPUState *env, RTGCPTR GCPtrCode);
    255255bool    remR3GetOpcode(CPUState *env, RTGCPTR GCPtrInstr, uint8_t *pu8Byte);
  • trunk/src/recompiler/VBoxREMWrapper.cpp

    r5999 r6546  
    335335static DECLCALLBACKPTR(void, pfnREMR3ReplayInvalidatedPages)(PVM);
    336336static DECLCALLBACKPTR(void, pfnREMR3ReplayHandlerNotifications)(PVM pVM);
    337 static DECLCALLBACKPTR(void, pfnREMR3NotifyPhysRamRegister)(PVM, RTGCPHYS, RTUINT, void *, unsigned);
     337static DECLCALLBACKPTR(void, pfnREMR3NotifyPhysRamRegister)(PVM, RTGCPHYS, RTUINT, unsigned);
    338338static DECLCALLBACKPTR(void, pfnREMR3NotifyPhysRamChunkRegister)(PVM, RTGCPHYS, RTUINT, RTHCUINTPTR, unsigned);
    339339static DECLCALLBACKPTR(void, pfnREMR3NotifyPhysReserve)(PVM, RTGCPHYS, RTUINT);
     
    10341034    { "PGMPhysGCPhys2HCPtr",                    (void *)(uintptr_t)&PGMPhysGCPhys2HCPtr,            &g_aArgsPGMPhysGCPhys2HCPtr[0],             ELEMENTS(g_aArgsPGMPhysGCPhys2HCPtr),               REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
    10351035    { "PGMPhysGCPtr2HCPtrByGstCR3",             (void *)(uintptr_t)&PGMPhysGCPtr2HCPtrByGstCR3,     &g_aArgsPGMPhysGCPtr2HCPtrByGstCR3[0],      ELEMENTS(g_aArgsPGMPhysGCPtr2HCPtrByGstCR3),        REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
     1036#ifndef VBOX_WITH_NEW_PHYS_CODE
    10361037    { "PGM3PhysGrowRange",                      (void *)(uintptr_t)&PGM3PhysGrowRange,              &g_aArgsPGM3PhysGrowRange[0],               ELEMENTS(g_aArgsPGM3PhysGrowRange),                 REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
     1038#endif
    10371039    { "PGMPhysIsGCPhysValid",                   (void *)(uintptr_t)&PGMPhysIsGCPhysValid,           &g_aArgsPGMPhysIsGCPhysValid[0],            ELEMENTS(g_aArgsPGMPhysIsGCPhysValid),              REMFNDESC_FLAGS_RET_INT,    sizeof(bool),       NULL },
    10381040    { "PGMPhysIsA20Enabled",                    (void *)(uintptr_t)&PGMPhysIsA20Enabled,            &g_aArgsVM[0],                              ELEMENTS(g_aArgsVM),                                REMFNDESC_FLAGS_RET_INT,    sizeof(bool),       NULL },
     
    19811983}
    19821984
    1983 REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, void *pvRam, unsigned fFlags)
     1985REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, unsigned fFlags)
    19841986{
    19851987#ifndef USE_REM_STUBS
    19861988    Assert(VALID_PTR(pfnREMR3NotifyPhysRamRegister));
    1987     pfnREMR3NotifyPhysRamRegister(pVM, GCPhys, cb, pvRam, fFlags);
    1988 #endif
    1989 }
    1990 
     1989    pfnREMR3NotifyPhysRamRegister(pVM, GCPhys, cb, fFlags);
     1990#endif
     1991}
     1992
     1993#ifndef VBOX_WITH_NEW_PHYS_CODE
    19911994REMR3DECL(void) REMR3NotifyPhysRamChunkRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, RTHCUINTPTR pvRam, unsigned fFlags)
    19921995{
     
    19961999#endif
    19972000}
     2001#endif
    19982002
    19992003REMR3DECL(void) REMR3NotifyPhysRomRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, void *pvCopy, bool fShadow)
  • trunk/src/recompiler/VBoxRecompiler.c

    r5999 r6546  
    10961096 * @param   eip         The EIP to check this for (might differ from env->eip).
    10971097 * @param   fFlags      hflags OR'ed with IOPL, TF and VM from eflags.
    1098  * @param   pExceptionIndex Stores EXCP_EXECUTE_RAW/HWACC in case raw mode is supported in this context
     1098 * @param   piException Stores EXCP_EXECUTE_RAW/HWACC in case raw mode is supported in this context
    10991099 *
    11001100 * @remark  This function must be kept in perfect sync with the scheduler in EM.cpp!
    11011101 */
    1102 bool remR3CanExecuteRaw(CPUState *env, RTGCPTR eip, unsigned fFlags, uint32_t *pExceptionIndex)
     1102bool remR3CanExecuteRaw(CPUState *env, RTGCPTR eip, unsigned fFlags, int *piException)
    11031103{
    11041104    /* !!! THIS MUST BE IN SYNC WITH emR3Reschedule !!! */
     
    11471147        if (HWACCMR3CanExecuteGuest(env->pVM, &Ctx) == true)
    11481148        {
    1149             *pExceptionIndex = EXCP_EXECUTE_HWACC;
     1149            *piException = EXCP_EXECUTE_HWACC;
    11501150            return true;
    11511151        }
     
    12591259        {
    12601260            Log2(("raw r0 mode forced: patch code\n"));
    1261             *pExceptionIndex = EXCP_EXECUTE_RAW;
     1261            *piException = EXCP_EXECUTE_RAW;
    12621262            return true;
    12631263        }
     
    12881288
    12891289    Assert(PGMPhysIsA20Enabled(env->pVM));
    1290     *pExceptionIndex = EXCP_EXECUTE_RAW;
     1290    *piException = EXCP_EXECUTE_RAW;
    12911291    return true;
    12921292}
     
    13521352    //RAWEx_ProfileStart(env, STATS_QEMU_TOTAL);
    13531353}
     1354
    13541355
    13551356/**
     
    13691370        CSAMR3MonitorPage(env->pVM, GCPtr, CSAM_TAG_REM);
    13701371}
     1372
    13711373
    13721374/**
     
    14621464}
    14631465
     1466
    14641467/**
    14651468 * Called from compiled code to schedule pending timers in VMM
     
    14761479}
    14771480
     1481
    14781482/**
    14791483 * Record trap occurance
     
    14891493    PVM pVM = env->pVM;
    14901494#ifdef VBOX_WITH_STATISTICS
    1491     static STAMCOUNTER aStatTrap[255];
    1492     static bool        aRegisters[ELEMENTS(aStatTrap)];
     1495    static STAMCOUNTER s_aStatTrap[255];
     1496    static bool        s_aRegisters[RT_ELEMENTS(s_aStatTrap)];
    14931497#endif
    14941498
     
    14961500    if (uTrap < 255)
    14971501    {
    1498         if (!aRegisters[uTrap])
     1502        if (!s_aRegisters[uTrap])
    14991503        {
    1500             aRegisters[uTrap] = true;
     1504            s_aRegisters[uTrap] = true;
    15011505            char szStatName[64];
    15021506            RTStrPrintf(szStatName, sizeof(szStatName), "/REM/Trap/0x%02X", uTrap);
    1503             STAM_REG(env->pVM, &aStatTrap[uTrap], STAMTYPE_COUNTER, szStatName, STAMUNIT_OCCURENCES, "Trap stats.");
     1507            STAM_REG(env->pVM, &s_aStatTrap[uTrap], STAMTYPE_COUNTER, szStatName, STAMUNIT_OCCURENCES, "Trap stats.");
    15041508        }
    1505         STAM_COUNTER_INC(&aStatTrap[uTrap]);
     1509        STAM_COUNTER_INC(&s_aStatTrap[uTrap]);
    15061510    }
    15071511#endif
     
    15361540}
    15371541
     1542
    15381543/*
    15391544 * Clear current active trap
     
    15491554}
    15501555
     1556
    15511557/*
    15521558 * Record previous call instruction addresses
     
    15581564    CSAMR3RecordCallAddress(env->pVM, env->eip);
    15591565}
     1566
    15601567
    15611568/**
     
    18611868    if (VBOX_SUCCESS(rc))
    18621869    {
    1863         #ifdef DEBUG
     1870#ifdef DEBUG
    18641871        if (u8TrapNo == 0x80)
    18651872        {
     
    18671874            remR3DumpOBsdSyscall(pVM);
    18681875        }
    1869         #endif
     1876#endif
    18701877
    18711878        pVM->rem.s.Env.exception_index = u8TrapNo;
     
    24372444}
    24382445
     2446
    24392447/**
    24402448 * Notification about a successful MMR3PhysRegister() call.
     
    24432451 * @param   GCPhys      The physical address the RAM.
    24442452 * @param   cb          Size of the memory.
    2445  * @param   pvRam       The HC address of the RAM.
    24462453 * @param   fFlags      Flags of the MM_RAM_FLAGS_* defines.
    24472454 */
    2448 REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, void *pvRam, unsigned fFlags)
    2449 {
    2450     Log(("REMR3NotifyPhysRamRegister: GCPhys=%VGp cb=%d pvRam=%p fFlags=%d\n", GCPhys, cb, pvRam, fFlags));
     2455REMR3DECL(void) REMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTUINT cb, unsigned fFlags)
     2456{
     2457    Log(("REMR3NotifyPhysRamRegister: GCPhys=%VGp cb=%d fFlags=%d\n", GCPhys, cb, fFlags));
    24512458    VM_ASSERT_EMT(pVM);
    24522459
     
    24542461     * Validate input - we trust the caller.
    24552462     */
    2456     Assert(!GCPhys || pvRam);
    2457     Assert(RT_ALIGN_P(pvRam, PAGE_SIZE) == pvRam);
    24582463    Assert(RT_ALIGN_T(GCPhys, PAGE_SIZE, RTGCPHYS) == GCPhys);
    24592464    Assert(cb);
     
    24872492    pVM->rem.s.fIgnoreAll = true;
    24882493
     2494#ifdef VBOX_WITH_NEW_PHYS_CODE
     2495    if (fFlags & MM_RAM_FLAGS_RESERVED)
     2496        cpu_register_physical_memory(GCPhys, cb, IO_MEM_UNASSIGNED);
     2497    else
     2498        cpu_register_physical_memory(GCPhys, cb, GCPhys);
     2499#else
    24892500    if (!GCPhys)
    24902501        cpu_register_physical_memory(GCPhys, cb, GCPhys | IO_MEM_RAM_MISSING);
     
    24962507            cpu_register_physical_memory(GCPhys, cb, GCPhys);
    24972508    }
     2509#endif
    24982510    Assert(pVM->rem.s.fIgnoreAll);
    24992511    pVM->rem.s.fIgnoreAll = false;
    25002512}
    25012513
     2514#ifndef VBOX_WITH_NEW_PHYS_CODE
    25022515
    25032516/**
     
    25542567}
    25552568
     2569#endif /* !VBOX_WITH_NEW_PHYS_CODE */
    25562570
    25572571/**
     
    34453459#else
    34463460        Cpu.mode = CPUMODE_64BIT;
    3447 #endif 
     3461#endif
    34483462
    34493463        RTLogPrintf("Recompiled Code: %p %#lx (%ld) bytes\n", pvCode, cb, cb);
     
    34593473#ifdef RT_ARCH_AMD64 /** @todo remove when DISInstr starts supporing 64-bit code. */
    34603474                break;
    3461 #endif 
     3475#endif
    34623476            }
    34633477            off += cbInstr;
  • trunk/src/recompiler/cpu-all.h

    r6532 r6546  
    196196void     remR3PhysWriteU64(RTGCPHYS DstGCPhys, uint64_t val);
    197197
     198#ifndef VBOX_WITH_NEW_PHYS_CODE
    198199void     remR3GrowDynRange(unsigned long physaddr);
     200#endif
    199201#if 0 /*defined(RT_ARCH_AMD64) && defined(VBOX_STRICT)*/
    200202# define VBOX_CHECK_ADDR(ptr) do { if ((uintptr_t)(ptr) >= _4G) __asm__("int3"); } while (0)
     
    997999#define IO_MEM_UNASSIGNED  (2 << IO_MEM_SHIFT)
    9981000#define IO_MEM_NOTDIRTY    (4 << IO_MEM_SHIFT) /* used internally, never use directly */
    999 #if defined(VBOX)
     1001#if defined(VBOX) && !defined(VBOX_WITH_NEW_PHYS_CODE)
    10001002#define IO_MEM_RAM_MISSING (5 << IO_MEM_SHIFT) /* used internally, never use directly */
    10011003#endif
  • trunk/src/recompiler/cpu-exec.c

    r3024 r6546  
    11/*
    22 *  i386 emulator main execution loop
    3  * 
     3 *
    44 *  Copyright (c) 2003-2005 Fabrice Bellard
    55 *
     
    5555   restored in a state compatible with the CPU emulator
    5656 */
    57 void cpu_resume_from_signal(CPUState *env1, void *puc) 
     57void cpu_resume_from_signal(CPUState *env1, void *puc)
    5858{
    5959#if !defined(CONFIG_SOFTMMU)
     
    8484    target_ulong phys_pc, phys_page1, phys_page2, virt_page2;
    8585    uint8_t *tc_ptr;
    86    
     86
    8787    spin_lock(&tb_lock);
    8888
    8989    tb_invalidated_flag = 0;
    90    
     90
    9191    regs_to_env(); /* XXX: do it just before cpu_gen_code() */
    92    
     92
    9393    /* find translated block using physical mappings */
    9494    phys_pc = get_phys_addr_code(env, pc);
     
    101101        if (!tb)
    102102            goto not_found;
    103         if (tb->pc == pc && 
     103        if (tb->pc == pc &&
    104104            tb->page_addr[0] == phys_page1 &&
    105             tb->cs_base == cs_base && 
     105            tb->cs_base == cs_base &&
    106106            tb->flags == flags) {
    107107            /* check next page if needed */
    108108            if (tb->page_addr[1] != -1) {
    109                 virt_page2 = (pc & TARGET_PAGE_MASK) + 
     109                virt_page2 = (pc & TARGET_PAGE_MASK) +
    110110                    TARGET_PAGE_SIZE;
    111111                phys_page2 = get_phys_addr_code(env, virt_page2);
     
    135135    cpu_gen_code(env, tb, CODE_GEN_MAX_SIZE, &code_gen_size);
    136136    code_gen_ptr = (void *)(((unsigned long)code_gen_ptr + code_gen_size + CODE_GEN_ALIGN - 1) & ~(CODE_GEN_ALIGN - 1));
    137    
     137
    138138    /* check next page if needed */
    139139    virt_page2 = (pc + tb->size - 1) & TARGET_PAGE_MASK;
     
    143143    }
    144144    tb_link_phys(tb, phys_pc, phys_page2);
    145    
     145
    146146 found:
    147147    /* we add the TB in the virtual pc hash table */
     
    249249#elif defined(TARGET_PPC)
    250250    if (env1->halted) {
    251         if (env1->msr[MSR_EE] && 
    252             (env1->interrupt_request & 
     251        if (env1->msr[MSR_EE] &&
     252            (env1->interrupt_request &
    253253             (CPU_INTERRUPT_HARD | CPU_INTERRUPT_TIMER))) {
    254254            env1->halted = 0;
     
    288288#endif
    289289
    290     cpu_single_env = env1; 
     290    cpu_single_env = env1;
    291291
    292292    /* first we save global registers */
     
    321321#ifndef VBOX /* VBOX: We need to raise traps and suchlike from the outside. */
    322322    env->exception_index = -1;
    323 #endif 
     323#endif
    324324
    325325    /* prepare setjmp context for exception handling */
    326326    for(;;) {
    327         if (setjmp(env->jmp_env) == 0) 
     327        if (setjmp(env->jmp_env) == 0)
    328328        {
    329329            env->current_tb = NULL;
     
    354354                    RAWEx_ProfileStart(env, STATS_IRQ_HANDLING);
    355355                    Log(("do_interrupt %d %d %08x\n", env->exception_index, env->exception_is_int, env->exception_next_eip));
    356                     do_interrupt(env->exception_index, 
    357                                  env->exception_is_int, 
    358                                  env->error_code, 
     356                    do_interrupt(env->exception_index,
     357                                 env->exception_is_int,
     358                                 env->error_code,
    359359                                 env->exception_next_eip, 0);
    360360                    RAWEx_ProfileStop(env, STATS_IRQ_HANDLING);
     
    405405                        do_smm_enter();
    406406                        T0 = 0;
    407                     } 
     407                    }
    408408                    else if ((interrupt_request & CPU_INTERRUPT_HARD) &&
    409                              (env->eflags & IF_MASK) && 
    410                              !(env->hflags & HF_INHIBIT_IRQ_MASK)) 
     409                             (env->eflags & IF_MASK) &&
     410                             !(env->hflags & HF_INHIBIT_IRQ_MASK))
    411411                    {
    412412                        /* if hardware interrupt pending, we execute it */
     
    431431                    }
    432432                    RAWEx_ProfileStop(env, STATS_IRQ_HANDLING);
    433                     if (interrupt_request & CPU_INTERRUPT_EXIT) 
     433                    if (interrupt_request & CPU_INTERRUPT_EXIT)
    434434                    {
    435435                        env->exception_index = EXCP_INTERRUPT;
     
    438438                        cpu_loop_exit();
    439439                    }
    440                     if (interrupt_request & CPU_INTERRUPT_RC) 
     440                    if (interrupt_request & CPU_INTERRUPT_RC)
    441441                    {
    442442                        env->exception_index = EXCP_RC;
     
    451451                 */
    452452                RAWEx_ProfileStart(env, STATS_RAW_CHECK);
    453                 if (remR3CanExecuteRaw(env, 
    454                                        env->eip + env->segs[R_CS].base, 
     453                if (remR3CanExecuteRaw(env,
     454                                       env->eip + env->segs[R_CS].base,
    455455                                       env->hflags | (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK)),
    456456                                       &env->exception_index))
     
    469469                   jump. */
    470470                if (T0 != 0
    471                     && !(tb->cflags & CF_RAW_MODE) 
    472                     && tb->page_addr[1] == -1) 
     471                    && !(tb->cflags & CF_RAW_MODE)
     472                    && tb->page_addr[1] == -1)
    473473                {
    474474                    spin_lock(&tb_lock);
     
    484484#if defined(DEBUG) && defined(VBOX) && !defined(DEBUG_dmik)
    485485#if !defined(DEBUG_bird)
    486                 if (((env->hflags >> HF_CPL_SHIFT) & 3) == 0 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK)) 
     486                if (((env->hflags >> HF_CPL_SHIFT) & 3) == 0 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK))
    487487                {
    488488                    if(!(env->state & CPU_EMULATE_SINGLE_STEP))
     
    492492                }
    493493                else
    494                 if (((env->hflags >> HF_CPL_SHIFT) & 3) == 3 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK)) 
     494                if (((env->hflags >> HF_CPL_SHIFT) & 3) == 3 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK))
    495495                {
    496496                    if(!(env->state & CPU_EMULATE_SINGLE_STEP))
     
    506506                    }
    507507                }
    508                 else 
     508                else
    509509                {
    510510                    Log(("EMRM: %04X:%08X SS:ESP=%04X:%08X IF=%d TF=%d CPL=%d PE=%d PG=%d\n", env->segs[R_CS].selector, env->eip, env->segs[R_SS].selector, ESP, (env->eflags & IF_MASK) ? 1 : 0, (env->eflags & TF_MASK) ? 1 : 0, (env->hflags >> HF_CPL_SHIFT) & 3, env->cr[0] & X86_CR0_PE, env->cr[0] & X86_CR0_PG));
     
    524524                        #else
    525525                        env->state &= ~CPU_EMULATE_SINGLE_STEP;
    526                         #endif 
     526                        #endif
    527527                    }
    528528#endif
     
    535535                    }
    536536                }
    537                 else 
     537                else
    538538                {
    539539                    RAWEx_ProfileStart(env, STATS_QEMU_RUN_EMULATED_CODE);
     
    563563        }
    564564#ifdef VBOX_HIGH_RES_TIMERS_HACK
    565         /* NULL the current_tb here so cpu_interrupt() doesn't do 
     565        /* NULL the current_tb here so cpu_interrupt() doesn't do
    566566           anything unnecessary (like crashing during emulate single instruction). */
    567567        env->current_tb = NULL;
     
    610610#elif defined(TARGET_PPC)
    611611    if (env1->halted) {
    612         if (env1->msr[MSR_EE] && 
    613             (env1->interrupt_request & 
     612        if (env1->msr[MSR_EE] &&
     613            (env1->interrupt_request &
    614614             (CPU_INTERRUPT_HARD | CPU_INTERRUPT_TIMER))) {
    615615            env1->halted = 0;
     
    649649#endif
    650650
    651     cpu_single_env = env1; 
     651    cpu_single_env = env1;
    652652
    653653    /* first we save global registers */
     
    685685#ifndef VBOX /* VBOX: We need to raise traps and suchlike from the outside. */
    686686    env->exception_index = -1;
    687 #endif 
     687#endif
    688688
    689689    /* prepare setjmp context for exception handling */
     
    691691        if (setjmp(env->jmp_env) == 0) {
    692692            env->current_tb = NULL;
    693 #ifdef VBOX 
     693#ifdef VBOX
    694694            VMMR3Unlock(env->pVM);
    695695            VMMR3Lock(env->pVM);
    696696
    697             /* Check for high priority requests first (like fatal 
     697            /* Check for high priority requests first (like fatal
    698698               errors). */
    699699            if (env->interrupt_request & CPU_INTERRUPT_RC) {
     
    717717                       loop */
    718718#if defined(TARGET_I386)
    719                     do_interrupt_user(env->exception_index, 
    720                                       env->exception_is_int, 
    721                                       env->error_code, 
     719                    do_interrupt_user(env->exception_index,
     720                                      env->exception_is_int,
     721                                      env->error_code,
    722722                                      env->exception_next_eip);
    723723#endif
     
    729729                       trigger new exceptions, but we do not handle
    730730                       double or triple faults yet. */
    731                     do_interrupt(env->exception_index, 
    732                                  env->exception_is_int, 
    733                                  env->error_code, 
     731                    do_interrupt(env->exception_index,
     732                                 env->exception_is_int,
     733                                 env->error_code,
    734734                                 env->exception_next_eip, 0);
    735735#elif defined(TARGET_PPC)
     
    746746                }
    747747                env->exception_index = -1;
    748             } 
     748            }
    749749#ifdef USE_KQEMU
    750750            if (kqemu_is_ok(env) && env->interrupt_request == 0) {
     
    776776            for(;;) {
    777777#if defined(__sparc__) && !defined(HOST_SOLARIS)
    778                 /* g1 can be modified by some libc? functions */ 
     778                /* g1 can be modified by some libc? functions */
    779779                tmp_T0 = T0;
    780 #endif     
     780#endif
    781781                interrupt_request = env->interrupt_request;
    782782                if (__builtin_expect(interrupt_request, 0)) {
     
    784784                    /* Single instruction exec request, we execute it and return (one way or the other).
    785785                       The caller will always reschedule after doing this operation! */
    786                     if (interrupt_request & CPU_INTERRUPT_SINGLE_INSTR) 
     786                    if (interrupt_request & CPU_INTERRUPT_SINGLE_INSTR)
    787787                    {
    788788                        /* not in flight are we? */
    789                         if (!(env->interrupt_request & CPU_INTERRUPT_SINGLE_INSTR_IN_FLIGHT)) 
     789                        if (!(env->interrupt_request & CPU_INTERRUPT_SINGLE_INSTR_IN_FLIGHT))
    790790                        {
    791791                            ASMAtomicOrS32(&env->interrupt_request, CPU_INTERRUPT_SINGLE_INSTR_IN_FLIGHT);
     
    801801                                || !(env->eflags & IF_MASK)
    802802                                ||  (env->hflags & HF_INHIBIT_IRQ_MASK)
    803                                ) 
     803                               )
    804804                            {
    805805                                env->exception_index = ret = EXCP_SINGLE_INSTR;
     
    824824#endif
    825825                    } else if ((interrupt_request & CPU_INTERRUPT_HARD) &&
    826                         (env->eflags & IF_MASK) && 
     826                        (env->eflags & IF_MASK) &&
    827827                        !(env->hflags & HF_INHIBIT_IRQ_MASK)) {
    828828                        int intno;
     
    831831#else
    832832                        env->interrupt_request &= ~CPU_INTERRUPT_HARD;
    833 #endif 
     833#endif
    834834                        intno = cpu_get_pic_interrupt(env);
    835835                        if (loglevel & CPU_LOG_TB_IN_ASM) {
     
    944944#else
    945945                        env->interrupt_request &= ~CPU_INTERRUPT_EXITTB;
    946 #endif 
     946#endif
    947947                        /* ensure that no TB jump will be modified as
    948948                           the program flow was changed */
     
    955955#ifdef VBOX
    956956                    RAWEx_ProfileStop(env, STATS_IRQ_HANDLING);
    957 #endif 
     957#endif
    958958                    if (interrupt_request & CPU_INTERRUPT_EXIT) {
    959959#if defined(VBOX)
     
    963963                        env->interrupt_request &= ~CPU_INTERRUPT_EXIT;
    964964                        env->exception_index = EXCP_INTERRUPT;
    965 #endif 
     965#endif
    966966                        cpu_loop_exit();
    967967                    }
     
    10241024                    cpu_dump_state(env, logfile, fprintf, 0);
    10251025#else
    1026 #error unsupported target CPU 
     1026#error unsupported target CPU
    10271027#endif
    10281028                }
     
    10331033                 */
    10341034                RAWEx_ProfileStart(env, STATS_RAW_CHECK);
    1035                 if (remR3CanExecuteRaw(env, 
    1036                                        env->eip + env->segs[R_CS].base, 
     1035                if (remR3CanExecuteRaw(env,
     1036                                       env->eip + env->segs[R_CS].base,
    10371037                                       env->hflags | (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK))
    10381038                                       flags, &env->exception_index))
     
    10541054#if defined(__sparc__) && !defined(HOST_SOLARIS)
    10551055                T0 = tmp_T0;
    1056 #endif     
     1056#endif
    10571057                /* see if we can patch the calling TB. When the TB
    10581058                   spans two pages, we cannot safely do a direct
     
    10681068                        tb->page_addr[1] == -1
    10691069#if defined(TARGET_I386) && defined(USE_CODE_COPY)
    1070                     && (tb->cflags & CF_CODE_COPY) == 
     1070                    && (tb->cflags & CF_CODE_COPY) ==
    10711071                    (((TranslationBlock *)(T0 & ~3))->cflags & CF_CODE_COPY)
    10721072#endif
     
    10761076#if defined(USE_CODE_COPY)
    10771077                    /* propagates the FP use info */
    1078                     ((TranslationBlock *)(T0 & ~3))->cflags |= 
     1078                    ((TranslationBlock *)(T0 & ~3))->cflags |=
    10791079                        (tb->cflags & CF_FP_USED);
    10801080#endif
     
    10901090                                     "mov       %%o7,%%i0"
    10911091                                     : /* no outputs */
    1092                                      : "r" (gen_func) 
     1092                                     : "r" (gen_func)
    10931093                                     : "i0", "i1", "i2", "i3", "i4", "i5",
    10941094                                       "l0", "l1", "l2", "l3", "l4", "l5",
     
    11871187#if defined(DEBUG) && defined(VBOX) && !defined(DEBUG_dmik)
    11881188#if !defined(DEBUG_bird)
    1189                 if (((env->hflags >> HF_CPL_SHIFT) & 3) == 0 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK)) 
     1189                if (((env->hflags >> HF_CPL_SHIFT) & 3) == 0 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK))
    11901190                {
    11911191                    if(!(env->state & CPU_EMULATE_SINGLE_STEP))
     
    11951195                }
    11961196                else
    1197                 if (((env->hflags >> HF_CPL_SHIFT) & 3) == 3 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK)) 
     1197                if (((env->hflags >> HF_CPL_SHIFT) & 3) == 3 && (env->hflags & HF_PE_MASK) && (env->cr[0] & CR0_PG_MASK))
    11981198                {
    11991199                    if(!(env->state & CPU_EMULATE_SINGLE_STEP))
     
    12221222                        #else
    12231223                        env->state &= ~CPU_EMULATE_SINGLE_STEP;
    1224                         #endif 
    1225                     }
    1226 #endif 
     1224                        #endif
     1225                    }
     1226#endif
    12271227                    TMCpuTickPause(env->pVM);
    12281228                    remR3DisasInstr(env, -1, NULL);
     
    12331233                    }
    12341234                }
    1235                 else 
     1235                else
    12361236                {
    12371237                    RAWEx_ProfileStart(env, STATS_QEMU_RUN_EMULATED_CODE);
     
    13071307
    13081308    /* fail safe : never use cpu_single_env outside cpu_exec() */
    1309     cpu_single_env = NULL; 
     1309    cpu_single_env = NULL;
    13101310    return ret;
    13111311}
     
    13361336    if (!(env->cr[0] & CR0_PE_MASK) || (env->eflags & VM_MASK)) {
    13371337        selector &= 0xffff;
    1338         cpu_x86_load_seg_cache(env, seg_reg, selector, 
     1338        cpu_x86_load_seg_cache(env, seg_reg, selector,
    13391339                               (selector << 4), 0xffff, 0);
    13401340    } else {
     
    13501350    saved_env = env;
    13511351    env = s;
    1352    
     1352
    13531353    helper_fsave((target_ulong)ptr, data32);
    13541354
     
    13621362    saved_env = env;
    13631363    env = s;
    1364    
     1364
    13651365    helper_frstor((target_ulong)ptr, data32);
    13661366
     
    13791379   signal set which should be restored */
    13801380static inline int handle_cpu_signal(unsigned long pc, unsigned long address,
    1381                                     int is_write, sigset_t *old_set, 
     1381                                    int is_write, sigset_t *old_set,
    13821382                                    void *puc)
    13831383{
     
    13881388        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    13891389#if defined(DEBUG_SIGNAL)
    1390     qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1390    qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    13911391                pc, address, is_write, *(unsigned long *)old_set);
    13921392#endif
     
    13971397
    13981398    /* see if it is an MMU fault */
    1399     ret = cpu_x86_handle_mmu_fault(env, address, is_write, 
     1399    ret = cpu_x86_handle_mmu_fault(env, address, is_write,
    14001400                                   ((env->hflags & HF_CPL_MASK) == 3), 0);
    14011401    if (ret < 0)
     
    14121412    if (ret == 1) {
    14131413#if 0
    1414         printf("PF exception: EIP=0x%08x CR2=0x%08x error=0x%x\n", 
     1414        printf("PF exception: EIP=0x%08x CR2=0x%08x error=0x%x\n",
    14151415               env->eip, env->cr[2], env->error_code);
    14161416#endif
     
    14391439        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    14401440#if defined(DEBUG_SIGNAL)
    1441     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1441    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    14421442           pc, address, is_write, *(unsigned long *)old_set);
    14431443#endif
     
    14751475        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    14761476#if defined(DEBUG_SIGNAL)
    1477     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1477    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    14781478           pc, address, is_write, *(unsigned long *)old_set);
    14791479#endif
     
    15071507    TranslationBlock *tb;
    15081508    int ret;
    1509    
     1509
    15101510    if (cpu_single_env)
    15111511        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    15121512#if defined(DEBUG_SIGNAL)
    1513     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1513    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    15141514           pc, address, is_write, *(unsigned long *)old_set);
    15151515#endif
     
    15351535    if (ret == 1) {
    15361536#if 0
    1537         printf("PF exception: NIP=0x%08x error=0x%x %p\n", 
     1537        printf("PF exception: NIP=0x%08x error=0x%x %p\n",
    15381538               env->nip, env->error_code, tb);
    15391539#endif
     
    15611561        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    15621562#if defined(DEBUG_SIGNAL)
    1563     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1563    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    15641564           pc, address, is_write, *(unsigned long *)old_set);
    15651565#endif
     
    15961596    TranslationBlock *tb;
    15971597    int ret;
    1598    
     1598
    15991599    if (cpu_single_env)
    16001600        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    16011601#if defined(DEBUG_SIGNAL)
    1602     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1602    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    16031603           pc, address, is_write, *(unsigned long *)old_set);
    16041604#endif
     
    16241624    if (ret == 1) {
    16251625#if 0
    1626         printf("PF exception: NIP=0x%08x error=0x%x %p\n", 
     1626        printf("PF exception: NIP=0x%08x error=0x%x %p\n",
    16271627               env->nip, env->error_code, tb);
    16281628#endif
     
    16461646    TranslationBlock *tb;
    16471647    int ret;
    1648    
     1648
    16491649    if (cpu_single_env)
    16501650        env = cpu_single_env; /* XXX: find a correct solution for multithread */
    16511651#if defined(DEBUG_SIGNAL)
    1652     printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", 
     1652    printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n",
    16531653           pc, address, is_write, *(unsigned long *)old_set);
    16541654#endif
     
    16731673    }
    16741674#if 0
    1675         printf("PF exception: NIP=0x%08x error=0x%x %p\n", 
     1675        printf("PF exception: NIP=0x%08x error=0x%x %p\n",
    16761676               env->nip, env->error_code, tb);
    16771677#endif
     
    16901690
    16911691#if defined(USE_CODE_COPY)
    1692 static void cpu_send_trap(unsigned long pc, int trap, 
     1692static void cpu_send_trap(unsigned long pc, int trap,
    16931693                          struct ucontext *uc)
    16941694{
     
    17091709#endif
    17101710
    1711 int cpu_signal_handler(int host_signum, void *pinfo, 
     1711int cpu_signal_handler(int host_signum, void *pinfo,
    17121712                       void *puc)
    17131713{
     
    17321732    } else
    17331733#endif
    1734         return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
    1735                                  trapno == 0xe ? 
     1734        return handle_cpu_signal(pc, (unsigned long)info->si_addr,
     1735                                 trapno == 0xe ?
    17361736                                 (uc->uc_mcontext.gregs[REG_ERR] >> 1) & 1 : 0,
    17371737                                 &uc->uc_sigmask, puc);
     
    17481748
    17491749    pc = uc->uc_mcontext.gregs[REG_RIP];
    1750     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
    1751                              uc->uc_mcontext.gregs[REG_TRAPNO] == 0xe ? 
     1750    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
     1751                             uc->uc_mcontext.gregs[REG_TRAPNO] == 0xe ?
    17521752                             (uc->uc_mcontext.gregs[REG_ERR] >> 1) & 1 : 0,
    17531753                             &uc->uc_sigmask, puc);
     
    18051805#endif /* __APPLE__ */
    18061806
    1807 int cpu_signal_handler(int host_signum, void *pinfo, 
     1807int cpu_signal_handler(int host_signum, void *pinfo,
    18081808                       void *puc)
    18091809{
     
    18231823        is_write = 1;
    18241824#endif
    1825     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1825    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    18261826                             is_write, &uc->uc_sigmask, puc);
    18271827}
     
    18291829#elif defined(__alpha__)
    18301830
    1831 int cpu_signal_handler(int host_signum, void *pinfo, 
     1831int cpu_signal_handler(int host_signum, void *pinfo,
    18321832                           void *puc)
    18331833{
     
    18541854    }
    18551855
    1856     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1856    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    18571857                             is_write, &uc->uc_sigmask, puc);
    18581858}
    18591859#elif defined(__sparc__)
    18601860
    1861 int cpu_signal_handler(int host_signum, void *pinfo, 
     1861int cpu_signal_handler(int host_signum, void *pinfo,
    18621862                       void *puc)
    18631863{
     
    18681868    int is_write;
    18691869    uint32_t insn;
    1870    
     1870
    18711871    /* XXX: is there a standard glibc define ? */
    18721872    pc = regs[1];
     
    18871887      }
    18881888    }
    1889     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1889    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    18901890                             is_write, sigmask, NULL);
    18911891}
     
    18931893#elif defined(__arm__)
    18941894
    1895 int cpu_signal_handler(int host_signum, void *pinfo, 
     1895int cpu_signal_handler(int host_signum, void *pinfo,
    18961896                       void *puc)
    18971897{
     
    19001900    unsigned long pc;
    19011901    int is_write;
    1902    
     1902
    19031903    pc = uc->uc_mcontext.gregs[R15];
    19041904    /* XXX: compute is_write */
    19051905    is_write = 0;
    1906     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1906    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    19071907                             is_write,
    19081908                             &uc->uc_sigmask, puc);
     
    19111911#elif defined(__mc68000)
    19121912
    1913 int cpu_signal_handler(int host_signum, void *pinfo, 
     1913int cpu_signal_handler(int host_signum, void *pinfo,
    19141914                       void *puc)
    19151915{
     
    19181918    unsigned long pc;
    19191919    int is_write;
    1920    
     1920
    19211921    pc = uc->uc_mcontext.gregs[16];
    19221922    /* XXX: compute is_write */
    19231923    is_write = 0;
    1924     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1924    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    19251925                             is_write,
    19261926                             &uc->uc_sigmask, puc);
     
    19631963#elif defined(__s390__)
    19641964
    1965 int cpu_signal_handler(int host_signum, void *pinfo, 
     1965int cpu_signal_handler(int host_signum, void *pinfo,
    19661966                       void *puc)
    19671967{
     
    19701970    unsigned long pc;
    19711971    int is_write;
    1972    
     1972
    19731973    pc = uc->uc_mcontext.psw.addr;
    19741974    /* XXX: compute is_write */
    19751975    is_write = 0;
    1976     return handle_cpu_signal(pc, (unsigned long)info->si_addr, 
     1976    return handle_cpu_signal(pc, (unsigned long)info->si_addr,
    19771977                             is_write,
    19781978                             &uc->uc_sigmask, puc);
  • trunk/src/recompiler/exec.c

    r6532 r6546  
    277277          pd[i].phys_offset = IO_MEM_UNASSIGNED;
    278278    }
    279 #if defined(VBOX)
     279#if defined(VBOX) && !defined(VBOX_WITH_NEW_PHYS_CODE)
    280280    pd = ((PhysPageDesc *)pd) + (index & (L2_SIZE - 1));
    281281    if (RT_UNLIKELY((pd->phys_offset & ~TARGET_PAGE_MASK) == IO_MEM_RAM_MISSING))
     
    19531953        p = phys_page_find_alloc(addr >> TARGET_PAGE_BITS, 1);
    19541954        p->phys_offset = phys_offset;
    1955 #if !defined(VBOX)
     1955#if !defined(VBOX) || defined(VBOX_WITH_NEW_PHYS_CODE)
    19561956        if ((phys_offset & ~TARGET_PAGE_MASK) <= IO_MEM_ROM ||
    19571957            (phys_offset & IO_MEM_ROMD))
     
    21632163    cpu_register_io_memory(IO_MEM_UNASSIGNED >> IO_MEM_SHIFT, unassigned_mem_read, unassigned_mem_write, NULL);
    21642164    cpu_register_io_memory(IO_MEM_NOTDIRTY >> IO_MEM_SHIFT, error_mem_read, notdirty_mem_write, NULL);
    2165 #if defined(VBOX)
     2165#if defined(VBOX) && !defined(VBOX_WITH_NEW_PHYS_CODE)
    21662166    cpu_register_io_memory(IO_MEM_RAM_MISSING >> IO_MEM_SHIFT, unassigned_mem_read, unassigned_mem_write, NULL);
    21672167    io_mem_nb = 6;
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