From - Fri Sep 26 07:30:23 1997 Path: news.mitre.org!blanket.mitre.org!agate!usenet.INS.CWRU.Edu!news.apk.net!news.micro-net.net!news.icm.edu.pl!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.direct.ca!Supernews60!supernews.com!news.he.net!newshub.cts.com!thumper.tmisnet.com!newsfeed.cts.com!cmkrnl!jeh From: jeh@cmkrnl.com (Jamie Hanrahan) Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode Subject: Re: What are size limits on MmMapIoSpace? Message-ID: <1997Sep25.174329.8226@cmkrnl> Date: 25 Sep 97 17:43:29 PST References: <342abb06.25938234@9.2.249.42> Organization: Kernel Mode Systems, San Diego, CA Lines: 31 In article <342abb06.25938234@9.2.249.42>, false@watson.ibm.com (Bill Anzick) writes: > I am trying to map a memory on a PCI bus adapter [...] When I > then attempt to use MmMapIoSpace to get a virtual address for each > area, the 256 byte area returns a valid address, but the second area > with is 32Meg is size returns a zero. > The manual says that a zero is returned if "space for mapping the > range is insufficient." Since this is outside of system memory, what > space are they talking about? Since this is virtual system space, what > are the limitations? Spare page table entries that describe system virtual address space are required. The system preallocates a number of these, but not many, for implementing MmMapIoSpace, MmGetSystemAddressForMdl, and similar functions. New free PTEs for mapping system space can't be extended on the fly, for reasons I'm not clear on. Under the registry key \System\CurrentControlSet\Control\Session Manager\Memory Management, you will find a value called SystemPages. Try setting this to its current value (which is probably zero) plus 8192. (8192 being the number of virtual pages you're creating). Note, in the past many of us assumed that these values would be taken verbatim by the system. It is now my understanding that the system ADDS these values to its default calculations. --- Jamie Hanrahan, Kernel Mode Systems, San Diego CA Internet: jeh@cmkrnl.com (JH645) CompuServe: 74140,2055 drivers, internals, networks, applications, and training for VMS and Windows NT NT driver FAQ, links, and other information: http://www.cmkrnl.com/ If you post a reply in news, please don't e-mail it too.