Changeset 17503 in vbox
- Timestamp:
- Mar 6, 2009 9:13:13 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMPhys.cpp
r17438 r17503 2472 2472 pgmLock(pVM); 2473 2473 2474 2475 2474 /* 2476 2475 * Allocate more pages, noting down the index of the first new page. … … 2478 2477 uint32_t iClear = pVM->pgm.s.cHandyPages; 2479 2478 AssertMsgReturn(iClear <= RT_ELEMENTS(pVM->pgm.s.aHandyPages), ("%d", iClear), VERR_INTERNAL_ERROR); 2479 Log(("PGMR3PhysAllocateHandyPages: %d -> %d\n", iClear, RT_ELEMENTS(pVM->pgm.s.aHandyPages))); 2480 2480 int rc = VMMR3CallR0(pVM, VMMR0_DO_PGM_ALLOCATE_HANDY_PAGES, 0, NULL); 2481 2481 if (rc == VERR_GMM_SEED_ME) … … 2485 2485 if (RT_SUCCESS(rc)) 2486 2486 rc = VMMR3CallR0(pVM, VMMR0_DO_GMM_SEED_CHUNK, (uintptr_t)pvChunk, NULL); 2487 if (RT_FAILURE(rc)) 2488 { 2489 LogRel(("PGM: GMM Seeding failed, rc=%Rrc\n", rc)); 2490 rc = VINF_EM_NO_MEMORY; 2491 } 2487 if (RT_SUCCESS(rc)) 2488 rc = VMMR3CallR0(pVM, VMMR0_DO_PGM_ALLOCATE_HANDY_PAGES, 0, NULL); 2492 2489 } 2493 2490 … … 2506 2503 iClear++; 2507 2504 } 2505 2506 VM_FF_CLEAR(pVM, VM_FF_PGM_NEED_HANDY_PAGES); 2507 } 2508 else 2509 { 2510 LogRel(("PGM: Failed to procure handy pages, rc=%Rrc cHandyPages=%u\n", 2511 rc, pVM->pgm.s.cHandyPages)); 2512 rc = VERR_EM_NO_MEMORY; 2513 //rc = VINF_EM_NO_MEMORY; 2514 //VM_FF_SET(pVM, VM_FF_PGM_WE_ARE_SCREWED?); 2508 2515 } 2509 2516 2510 2517 /** @todo Do proper VERR_EM_NO_MEMORY reporting. */ 2518 AssertMsg( pVM->pgm.s.cHandyPages == RT_ELEMENTS(pVM->pgm.s.aHandyPages) 2519 || rc != VINF_SUCCESS, ("%d rc=%Rrc\n", pVM->pgm.s.cHandyPages, rc)); 2511 2520 pgmUnlock(pVM); 2512 Assert(rc == VINF_SUCCESS || rc == VINF_EM_NO_MEMORY );2521 Assert(rc == VINF_SUCCESS || rc == VINF_EM_NO_MEMORY || rc == VERR_EM_NO_MEMORY); 2513 2522 return rc; 2514 2523 } … … 2636 2645 if (PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)) /* catches MMIO */ 2637 2646 rc = VERR_PGM_PHYS_TLB_CATCH_ALL; 2638 else if (fWritable && PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)) 2639 rc = VINF_PGM_PHYS_TLB_CATCH_WRITE; 2647 else if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)) 2648 { 2649 /** @todo Handle TLB loads of virtual handlers so ./test.sh can be made to work 2650 * in -norawr0 mode. */ 2651 if (fWritable) 2652 rc = VINF_PGM_PHYS_TLB_CATCH_WRITE; 2653 } 2640 2654 else 2641 2655 {
Note:
See TracChangeset
for help on using the changeset viewer.