Re: 64 bit access under DOS?



"Ivor Bowden" <ivorlist@xxxxxxxxxxx> wrote in message
news:44ff387a$0$19628$88260bb3@xxxxxxxxxxxxxxxxxxxx
Hi,

<snip>
Currently I am using the _farpeek and
_farpoke routines, after mapping in the physical address, and can test
byte, word and long accesses.
<snip>
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




.



Relevant Pages

  • Re: ANSI C question about volatile
    ... The *intent* of the C Standard is clear: the hardware has some ... Only one "bus width" is supported, ... the register numbers might change in the process). ... programmer might use the "bis" or "bic" instructions on the VAX: ...
    (comp.lang.c)
  • Re: implementing Futex
    ... feature atomic instructions, ... This area is prepared by the Kernel and holds functions for all ... Moreover it should be possible to allow "hardware" designers to ... NIOS-like FPGA-processor to provide some hardware support for atomicness ...
    (Linux-Kernel)
  • Re: IBM System z9
    ... add hardware features to speed up operations for which there ... If one is going to add new instructions to a machine at *all*, ... large company that sells computers. ... Decimal floating point, therefore, offers to extend this convenience - ...
    (comp.arch)
  • Re: Lisp in hardware
    ... The general experience of the 80s seems to have been that you should ... Lisp efforts mentioned before. ... project for some examples where special hardware didn't work so well. ... sets are irrelevant since all instructions are dynamically broken down ...
    (comp.lang.lisp)
  • Re: write statement output buffer flush off on Sun
    ... > routine is usually greater than the cost of checking for a nonzero ... > are passed on the stack, passing the addresses involves memory traffic. ... branch - and it may involve additional instructions on some ... hardware, a conditional branch costs about the same whether it's ...
    (comp.lang.fortran)

Loading