Changeset 485 for GPL/trunk/lib32/memory.cpp
- Timestamp:
- May 23, 2010, 10:17:06 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/lib32/memory.cpp
r445 r485 106 106 pCur = pBaseAddrHead; 107 107 108 if(pCur->retaddr == addr) 108 if(pCur->retaddr == addr) 109 109 { 110 110 addr = pCur->base; … … 160 160 APIRET rc = 0; 161 161 ULONG addr = 0; 162 162 163 163 #ifdef KEE 164 164 SHORT sel; … … 176 176 extern "C" int fStrategyInit; 177 177 //****************************************************************************** 178 APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) 178 APIRET VMAlloc(ULONG size, ULONG flags, LINEAR *pAddr) 179 179 { 180 180 APIRET rc; … … 211 211 //****************************************************************************** 212 212 //****************************************************************************** 213 APIRET VMFree(LINEAR addr) 213 APIRET VMFree(LINEAR addr) 214 214 { 215 215 APIRET rc; … … 302 302 size = order * PAGE_SIZE; 303 303 304 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 304 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 305 305 {//below 16 mb for legacy DMA? 306 306 if(gfp_mask & GFP_DMA) … … 326 326 } 327 327 else allocsize = size; 328 328 329 329 if(VMAlloc(allocsize, flags, (LINEAR *)&addr)) { 330 330 DebugInt3(); 331 331 return 0; 332 332 } 333 //// dprintf(("__get_free_pages %d returned %x", order*PAGE_SIZE, addr)); 334 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 333 //// dprintf(("__get_free_pages %d returned %x", order*PAGE_SIZE, addr)); 334 if(gfp_mask & (GFP_DMA|GFP_DMAHIGHMEM)) 335 335 {//must be aligned at 64kb boundary 336 336 ULONG physaddr = virt_to_phys((void *)addr); … … 377 377 //check if it really is the base of the allocation (see above) 378 378 addr = GetBaseAddress(addr, (ULONG NEAR *)__Stack32ToFlat(&size)); 379 379 380 380 if(VMFree((LINEAR)addr)) { 381 381 DebugInt3(); … … 410 410 if(addr) { 411 411 #ifdef DEBUG 412 dprintf(("vmalloc %d -> %x (phys %x)", size, addr, virt_to_phys((void *)addr)));412 //dprintf(("vmalloc %d -> %x (phys %x)", size, addr, virt_to_phys((void *)addr))); 413 413 #endif 414 414 //only done to save size of memory block … … 416 416 ulget_free_pagesMemUsed += size; 417 417 #ifdef DEBUG 418 dprintf(("vmalloc: total alloc size %d", ulget_free_pagesMemUsed));418 //dprintf(("vmalloc: total alloc size %d", ulget_free_pagesMemUsed)); 419 419 #endif 420 420 } … … 429 429 430 430 GetBaseAddress((ULONG)ptr, (ULONG NEAR *)__Stack32ToFlat(&size)); 431 431 432 432 if(VMFree((LINEAR)ptr)) { 433 433 DebugInt3(); … … 435 435 else { 436 436 #ifdef DEBUG 437 dprintf(("vfree %x size %d", (ULONG)ptr, size));437 //dprintf(("vfree %x size %d", (ULONG)ptr, size)); 438 438 #endif 439 439 ulget_free_pagesMemUsed -= size; 440 440 #ifdef DEBUG 441 dprintf(("vfree: total alloc size %d", ulget_free_pagesMemUsed));441 //dprintf(("vfree: total alloc size %d", ulget_free_pagesMemUsed)); 442 442 #endif 443 443 } … … 635 635 } 636 636 //// dprintf(("kfree %x", addr)); 637 if(IsHeapAddr(addr)) { 637 if(IsHeapAddr(addr)) { 638 638 #ifdef DEBUGHEAP 639 free((void *)addr, filename, lineno); 640 #else 641 free((void *)addr); 639 free((void *)addr, filename, lineno); 640 #else 641 free((void *)addr); 642 642 #endif 643 643 }
Note:
See TracChangeset
for help on using the changeset viewer.