X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: How to access two 512MB PCI cards? Date: Sat, 19 Jan 2002 11:10:43 CST Organization: Rice University, Houston TX Lines: 31 Message-ID: <3c49a893.sandmann@clio.rice.edu> References: <3c48fbc9 DOT sandmann AT clio DOT rice DOT edu> NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1011461143 3303 128.42.105.3 (19 Jan 2002 17:25:43 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: 19 Jan 2002 17:25:43 GMT X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > Success! Both PMODE 1.3 and CWSDPMI 6b give me full access to my two > 512MB PCI cards. Excellent utilities, thank you. I'm glad you found them useful. I'm also happy to hear the WIP CWSDPMI with 4Mb pages works OK for devices - since it had never been tested that I know of... Mapping 1Gb of devices is a cool test. Thanks. > Just for fun, I tried mapping my entire non-DOS memory from 0x00100000 > to 0xFFFFFFFF into one segment, and then I peek bytes from various > addresses. PMODE 1.3 works great. CWSDPMI 6b works too if I restrict > my segment to 0x20000000 to 0xFFFFFFFF. For some reason, a wider > segment provokes SIGSEGV when I peek bytes. Oh well, it was just an > experiment. Architecture difference. If not running under VCPI, PMODE does not turn on paging - so it always just returns a 1:1 map. If running under VCPI, you would also see some problems with PMODE trying large address spaces. CWSDPMI tries to always look the same to the program (under VCPI or HIMEM or raw) and provides features like null pointer protection which require some memory remapping. So it will always have some issues with trying to deal with physical to virtual mappings, especially if you try to map 4Gb of address space. As the 4Gb address space gets more crowded with devices and memory and DPMI programs we will see more problems. Windows 9x already has problems with over 512Mb of memory (which get progressively worse up to 1Gb) - and you can't use more than 2Gb of address space under NT/Win2K/XP without a special boot switch (/3Gb) that only works with "server" versions - and even then you must use special link flags, exe header flags, etc and are limited to 3Gb.