From: "Charles Sandmann" Newsgroups: comp.os.msdos.djgpp Subject: Re: Xeon chips Date: Tue, 20 Apr 1999 21:45:10 Organization: Aspen Technology, Inc. Lines: 50 Message-ID: <371cf566.sandmann@clio.rice.edu> References: <2ADA45B8C19AD111BBEA00805FBE1341DD5029 AT exccolorado DOT co DOT lsil DOT com> NNTP-Posting-Host: dmcap2.aco.aspentech.com X-NewsEditor: ED-1.5.8 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > >Has anybody ever written any code to use the memory that is beyond 4GB on > >the P6/PII/PIII chips? I am sure that this would have to be assembly code > >mixed with C code, but all I need to do is move data in and out of the +4GB > >region. > >Brett Henning > The first point is that: yes, the P6s do have 64GB addressing (36 address > lines). > Essentially, from what I can tell the way it is implemented is that you need > to change the 4K page mode that is the basis of the 386 addressing scheme > into a 2 Meg page mode via setting bit 5 on CR4 to 1. Really kind of nifty. > The unfortunate point is that, that you cannot have programs running with > both 4K mode and 2Meg mode operating at the same time, so it really needs to > be enabled by an Operating System aware of how the new paging mechanism > works. > Number of OSes enabling new paging mechanism that I know of: 0 :( > Basically, so unless you are programming OSes, and in this case you probably > wouldn't be using DJ's *DOS* port of GCC/egcs, your probably SOL. It might > be possible to recode the DPMI server to know about the 2 Meg page mode, but > it seems like a lot of work for a feature isn't in a whole lot of demand at > the moment. > -- Kelley Cook Well, since you brought it up ... :-) CWSDPMI is currently limited to 255Mb physical memory due to being written with a 16-bit compiler, and the 640K limit it has to live with... I've considered hacking a fix in to suppport more than 256Mb of memory by request - but then the page tables themselves (1 per 4Mb, so 1Kb/Mb) start to limit you to about 512Mb or so before you start page faulting the tables themselves (not a very useful design). Then I decided anyone with that much memory probably doesn't want to page anyway, and would not worry about wasting a few Mb here and there. So I considered a physical memory only version - no virtual - using large page support (4Mb pages or 2Mb pages). Since I haven't used anything except Windows NT, Unixy flavors, and OpenVMS for several years (no DOS) this is a purely entertainment exercise. If anyone has exotic hardware to play with and is interested, drop me a note. I already have some systems with 1Gb in them. If anyone has a strong opinion or need, I may listen ...