Date: Thu, 9 Oct 1997 11:57:26 +0200 (IST) From: Eli Zaretskii To: Daniel Schroeder cc: djgpp AT delorie DOT com, Charles Sandmann Subject: Re: Need help - CWSDPMI "can't allocate page table mem" error In-Reply-To: <343B55F1.26C09B75@rsd.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Wed, 8 Oct 1997, Daniel Schroeder wrote: > - Watcom 11.0 compiler with target system set to Pmode/W on the > development machine > - Pmode/W 1.33 > - CWSDPMI V0.90+ (r3) > - Caldera OpenDOS 7.01 on the target system, with *no* HIMEM.SYS or > EMM386 or any other memory manager loaded apart from CWSDPMI. Also, > there are no other TSRs or drivers loaded. > > The CWSDPMI is obviously only needed for the virtual memory support. But > I definitely need that virtual memory I don't have any real experience with Watcom and CWSDPMI, but my first guess would be that Pmode/W and CWSDPMI cannot be used together. Pmode is a DPMI server itself, isn't it? If so, you cannot have it and CWSDPMI co-exist peacefully. Charles, can you tell if the above combination should work? One thing to try would be to load HIMEM and EMM386 and see if that helps. Don't know about Pmode, but at least CWSDPMI tends to take over all the memory when no memory manager is installed. -------------------------------------------------------------------- On Wed, 8 Oct 1997, Daniel Schroeder wrote: > Hi! > > I am writing a program for a PC-based system that needs to handle very > large amounts of dynamically allocated memory (definitely more than the > available physical memory). So I tried the following combination: > > - Watcom 11.0 compiler with target system set to Pmode/W on the > development machine > - Pmode/W 1.33 > - CWSDPMI V0.90+ (r3) > - Caldera OpenDOS 7.01 on the target system, with *no* HIMEM.SYS or > EMM386 or any other memory manager loaded apart from CWSDPMI. Also, > there are no other TSRs or drivers loaded. > > The CWSDPMI is obviously only needed for the virtual memory support. But > I definitely need that virtual memory - physical memory is just too > expensive if you have to multiply it by 2000 (that's the number of > systems we are going to build). > > Now, whenever I try to run a 32-bit test program as simple as "Hello > world!" on the target machine, CWSDPMI gives me the error message > "Error: could not allocate page table memory" when starting the program. > The same program works correctly if CWSDPMI is *not* loaded (but of > course then there's no virtual memory). > > The docs mention that error message, so I tried the suggestions there: I > set the "number of page tables to initially allocate" to 20 (is that a > reasonable value?), so to avoid dynamic allocation, but this didn't > help. Next I tried to increase free conventional memory - using > PMWSETUP, I set "Low Memory to Reserve (in Paragraphs)" to 0x2000 > paragraphs (again, a reasonable value?), but that didn't help either. > DOS/4GW seems to work here, but for several reasons I'd rather use > Pmode/W instead. > > Now I'm sort of stuck... can anybody help me by answering some of these > questions? > > - First of all: does the combination of programs I chose make sense at > all, or are there other, better solutions? > > - What exactly is going on to make that error appear? Is it really > conventional memory that is lacking, or is CWSDPMI running out of some > other resource? > > - Are there any other configuration options I need to change to make it > work? > > Any help appreciated! > > --- > > Daniel Schroeder > Rohde & Schwarz Germany > email: Daniel DOT Schroeder AT rsd DOT de >