- Timestamp:
- Jul 17, 2012 1:50:51 PM (12 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r42186 r42188 2351 2351 2352 2352 2353 #if ndef IN_RING02353 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 2354 2354 /** 2355 2355 * Updates the EFLAGS while we're in raw-mode. … … 2365 2365 PATMRawSetEFlags(pVCpu->CTX_SUFF(pVM), CPUMCTX2CORE(&pVCpu->cpum.s.Guest), fEfl); 2366 2366 } 2367 #endif /* !IN_RING0 */2367 #endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 2368 2368 2369 2369 … … 2567 2567 { 2568 2568 uCpl = (pVCpu->cpum.s.Guest.ss.Sel & X86_SEL_RPL); 2569 #if ndef IN_RING02569 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 2570 2570 if (uCpl == 1) 2571 2571 uCpl = 0; -
trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp
r41801 r42188 5 5 6 6 /* 7 * Copyright (C) 2006-20 07Oracle Corporation7 * Copyright (C) 2006-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 35 35 #include <iprt/x86.h> 36 36 37 37 38 /** 38 39 * Queues a page for invalidation -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r42186 r42188 16 16 17 17 /* 18 * Copyright (C) 2006-201 0Oracle Corporation18 * Copyright (C) 2006-2012 Oracle Corporation 19 19 * 20 20 * This file is part of VirtualBox Open Source Edition (OSE), as … … 1979 1979 RTGCPTR GCPtrCurPage = (GCPtrPage & ~(RTGCPTR)(GST_PT_MASK << GST_PT_SHIFT)) | ((offPTSrc + iPTDst) << PAGE_SHIFT); 1980 1980 NOREF(GCPtrCurPage); 1981 # ifndef IN_RING01981 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 1982 1982 /* 1983 1983 * Assuming kernel code will be marked as supervisor - and not as user level … … 1992 1992 && PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)) 1993 1993 ) 1994 # endif /* else: CSAM not active */1994 # endif /* else: CSAM not active */ 1995 1995 PGM_BTH_NAME(SyncPageWorker)(pVCpu, &pPTDst->a[iPTDst], PdeSrc, *pPteSrc, pShwPage, iPTDst); 1996 1996 Log2(("SyncPage: 4K+ %RGv PteSrc:{P=%d RW=%d U=%d raw=%08llx} PteDst=%08llx%s\n", … … 2432 2432 const GSTPTE PteSrc = *pPteSrc; 2433 2433 2434 #if ndef IN_RING02434 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 2435 2435 /* Bail out here as pgmPoolGetPage will return NULL and we'll crash below. 2436 2436 * Our individual shadow handlers will provide more information and force a fatal exit. … … 2823 2823 if (PteSrc.n.u1Present) 2824 2824 { 2825 # if ndef IN_RING02825 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 2826 2826 /* 2827 2827 * Assuming kernel code will be marked as supervisor - and not as user level … … 2950 2950 else if (PGM_PAGE_IS_BALLOONED(pPage)) 2951 2951 SHW_PTE_SET(PteDst, 0); /* Handle ballooned pages at #PF time. */ 2952 # if ndef IN_RING02952 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 2953 2953 /* 2954 2954 * Assuming kernel code will be marked as supervisor and not as user level and executed … … 3417 3417 && PGM_SHW_TYPE != PGM_TYPE_EPT 3418 3418 3419 # if ndef IN_RING03419 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 3420 3420 if (!(fPage & X86_PTE_US)) 3421 3421 { -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r41965 r42188 5 5 6 6 /* 7 * Copyright (C) 2006-20 07Oracle Corporation7 * Copyright (C) 2006-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 260 260 261 261 262 263 #ifndef IN_RING0 262 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 264 263 /** 265 264 * Sets all PDEs involved with the mapping in the shadow page table. … … 541 540 PGM_DYNMAP_UNUSED_HINT_VM(pVM, pCurrentShwPdpt); 542 541 } 543 #endif /* !IN_RING0 */542 #endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 544 543 545 544 #if defined(VBOX_STRICT) && !defined(IN_RING0) … … 652 651 #endif /* defined(VBOX_STRICT) && !defined(IN_RING0) */ 653 652 654 #if ndef IN_RING0653 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 655 654 656 655 /** … … 926 925 } 927 926 928 #endif /* IN_RING0 */929 927 #endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 928 -
trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
r42186 r42188 5 5 6 6 /* 7 * Copyright (C) 2006-201 0Oracle Corporation7 * Copyright (C) 2006-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 267 267 for (unsigned i = 0; i < 2; i++) 268 268 { 269 # if ndef IN_RING0269 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 270 270 if ((uShw.pPDPae->a[iShw + i].u & (PGM_PDFLAGS_MAPPING | X86_PDE_P)) == (PGM_PDFLAGS_MAPPING | X86_PDE_P)) 271 271 { … … 275 275 break; 276 276 } 277 # endif /* !IN_RING0 */277 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 278 278 if (uShw.pPDPae->a[iShw+i].n.u1Present) 279 279 { … … 293 293 if (iShw2 < RT_ELEMENTS(uShw.pPDPae->a)) 294 294 { 295 # if ndef IN_RING0295 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 296 296 if ((uShw.pPDPae->a[iShw2].u & (PGM_PDFLAGS_MAPPING | X86_PDE_P)) == (PGM_PDFLAGS_MAPPING | X86_PDE_P)) 297 297 { … … 301 301 break; 302 302 } 303 # endif /* !IN_RING0 */303 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 304 304 if (uShw.pPDPae->a[iShw2].n.u1Present) 305 305 { … … 371 371 LogFlow(("pgmPoolMonitorChainChanging: PGMPOOLKIND_32BIT_PD %x\n", iShw)); 372 372 STAM_COUNTER_INC(&pPool->CTX_MID_Z(StatMonitor,FaultPD)); 373 # if ndef IN_RING0373 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 374 374 if (uShw.pPD->a[iShw].u & PGM_PDFLAGS_MAPPING) 375 375 { … … 380 380 break; 381 381 } 382 # endif /* !IN_RING0 */383 # ifndef IN_RING0384 382 else 385 # endif /* !IN_RING0 */383 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 386 384 { 387 385 if (uShw.pPD->a[iShw].n.u1Present) … … 403 401 && iShw2 < RT_ELEMENTS(uShw.pPD->a)) 404 402 { 405 # if ndef IN_RING0403 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 406 404 if (uShw.pPD->a[iShw2].u & PGM_PDFLAGS_MAPPING) 407 405 { … … 412 410 break; 413 411 } 414 # endif /* !IN_RING0 */412 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 415 413 if (uShw.pPD->a[iShw2].n.u1Present) 416 414 { … … 444 442 const unsigned iShw = off / sizeof(X86PDEPAE); 445 443 STAM_COUNTER_INC(&pPool->CTX_MID_Z(StatMonitor,FaultPD)); 446 #if ndef IN_RING0444 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 447 445 if (uShw.pPDPae->a[iShw].u & PGM_PDFLAGS_MAPPING) 448 446 { … … 453 451 break; 454 452 } 455 #endif /* !IN_RING0 */453 #endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 456 454 /* 457 455 * Causes trouble when the guest uses a PDE to refer to the whole page table level … … 459 457 * table entries -> recheck; probably only applies to the RC case.) 460 458 */ 461 # ifndef IN_RING0459 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 462 460 else 463 # endif /* !IN_RING0 */461 #endif 464 462 { 465 463 if (uShw.pPDPae->a[iShw].n.u1Present) … … 480 478 AssertBreak(iShw2 < RT_ELEMENTS(uShw.pPDPae->a)); 481 479 482 #if ndef IN_RING0480 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 483 481 if ( iShw2 != iShw 484 482 && uShw.pPDPae->a[iShw2].u & PGM_PDFLAGS_MAPPING) … … 490 488 break; 491 489 } 492 #endif /* !IN_RING0 */493 # ifndef IN_RING0494 490 else 495 # endif /* !IN_RING0 */491 #endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 496 492 if (uShw.pPDPae->a[iShw2].n.u1Present) 497 493 { … … 522 518 if (iShw < X86_PG_PAE_PDPE_ENTRIES) /* don't use RT_ELEMENTS(uShw.pPDPT->a), because that's for long mode only */ 523 519 { 524 # if ndef IN_RING0520 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 525 521 if (uShw.pPDPT->a[iShw].u & PGM_PLXFLAGS_MAPPING) 526 522 { … … 531 527 break; 532 528 } 533 # endif /* !IN_RING0 */534 # ifndef IN_RING0535 529 else 536 # endif /* !IN_RING0 */530 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 537 531 if (uShw.pPDPT->a[iShw].n.u1Present) 538 532 { … … 553 547 && iShw2 < X86_PG_PAE_PDPE_ENTRIES) 554 548 { 555 # if ndef IN_RING0549 # ifdef VBOX_WITH_RAW_MODE_NOT_R0 556 550 if (uShw.pPDPT->a[iShw2].u & PGM_PLXFLAGS_MAPPING) 557 551 { … … 562 556 break; 563 557 } 564 # endif /* !IN_RING0 */565 # ifndef IN_RING0566 558 else 567 # endif /* !IN_RING0 */559 # endif /* VBOX_WITH_RAW_MODE_NOT_R0 */ 568 560 if (uShw.pPDPT->a[iShw2].n.u1Present) 569 561 {
Note:
See TracChangeset
for help on using the changeset viewer.