Ignore:
Timestamp:
Jul 16, 2002, 10:16:48 AM (23 years ago)
Author:
sandervl
Message:

Fix for loading PE images in low memory (introduced yesterday)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/winimagepeldr.cpp

    r8877 r8882  
    1 /* $Id: winimagepeldr.cpp,v 1.96 2002-07-15 14:28:53 sandervl Exp $ */
     1/* $Id: winimagepeldr.cpp,v 1.97 2002-07-16 08:16:48 sandervl Exp $ */
    22
    33/*
     
    431431    }
    432432
    433     dprintf((LOG, "OS/2 base address %x", realBaseAddress ));
     433    dprintf((LOG, "OS/2 base address   %x", realBaseAddress ));
    434434    if(oh.AddressOfEntryPoint) {
    435435        entryPoint = realBaseAddress + oh.AddressOfEntryPoint;
     
    999999 ULONG  diff, i, baseAddress;
    10001000 APIRET rc;
    1001  BOOL   allocFlags = flAllocMem;
     1001 BOOL   fLowMemory = FALSE;
    10021002
    10031003    //Reserve enough space to store 4096 pointers to 1MB memory chunks
     
    10091009
    10101010    if(oh.ImageBase < 512*1024*1024) {
    1011         allocFlags = 0;
     1011        fLowMemory = TRUE;
    10121012    }
    10131013    while(TRUE) {
    1014         rc = OSLibDosAllocMem((PPVOID)&address, FALLOC_SIZE, PAG_READ | allocFlags);
     1014        rc = OSLibDosAllocMem((PPVOID)&address, FALLOC_SIZE, PAG_READ, fLowMemory);
    10151015        if(rc) break;
    10161016
     
    10261026            diff = oh.ImageBase - address;
    10271027            if(diff) {
    1028                 rc = OSLibDosAllocMem((PPVOID)&address, diff, PAG_READ | allocFlags);
     1028                rc = OSLibDosAllocMem((PPVOID)&address, diff, PAG_READ, fLowMemory);
    10291029                if(rc) break;
    10301030            }
    1031             rc = OSLibDosAllocMem((PPVOID)&baseAddress, imageSize, PAG_READ | PAG_WRITE | allocFlags);
     1031            rc = OSLibDosAllocMem((PPVOID)&baseAddress, imageSize, PAG_READ | PAG_WRITE, fLowMemory);
    10321032            if(rc) break;
    10331033
Note: See TracChangeset for help on using the changeset viewer.