X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: "Rod Pemberton" Newsgroups: comp.os.msdos.djgpp Subject: Re: 64 bit access under DOS? Date: Thu, 7 Sep 2006 04:38:03 -0400 Organization: Corriga.net news service Lines: 53 Message-ID: References: <44ff387a$0$19628$88260bb3 AT free DOT teranews DOT com> NNTP-Posting-Host: c-68-60-59-250.hsd1.mi.comcast.net X-Trace: main.corriga.net 1157618445 10426 68.60.59.250 (7 Sep 2006 08:40:45 GMT) X-Complaints-To: postmaster AT corriga DOT net NNTP-Posting-Date: Thu, 7 Sep 2006 08:40:45 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Ivor Bowden" wrote in message news:44ff387a$0$19628$88260bb3 AT free DOT teranews DOT com... > Hi, > > Currently I am using the _farpeek and > _farpoke routines, after mapping in the physical address, and can test > byte, word and long accesses. > I would like the memory test to function in 64 bit mode on the PCI bus > for hardware that supports it > I could use something like _farpeekll / _farpokell (long long). Since, (1) the code is already using _farpeek/poke and (2) it runs under Windows, using functions which work using the same manner of memory accessing is probably the best idea. (i.e., don't switch to address wrap-around now which may not work under Windows...) > The other thought I had was to set up some assembly routines to use the > AMD64 instructions. > My understanding is that you are wanting a single 64-bit read or write on the actual hardware data lines, which is/should be a 64-bit data bus. If so, then you'll need to write your own routines using AMD64 (or equivalent Intel instructions depending on the CPU). You'll also have to figure out how to use those instructions either (1) in 32-bit mode (possibly using instruction overrides?) or (2) by switching into and out of 64-bit mode without affecting executing 32-bit code such as the DPMI host or Windows. Also, it should be possible effectively test a 64-bit read/write on a 64-bit bus by using two 32-bit reads/writes (_farpeekl/_farpokel) to consecutive addresses. Of course, either (1) half the data lines should be activated for each read/write and you'd need to monitor two memory/port accesses instead of one or (2) the hardware may combine both accesses into a single 64-bit access (bonus!). This is specific knowledge you or the manufacturer should have or you may be able to determine with your test equipment. I really can't help much further. You'll probably need to post to a few assembly language groups (AMD64 instructions) and a few electrical engineering groups (test hardware/logic analyzer) for more accurate answers... For assembly, I'd try alt.lang.asm and comp.lang.asm.x86, but I haven't seen too many who seem to have much AMD64 knowledge. I don't have any suggestions for EE groups. Rod Pemberton