Hi Paul, I have a Cyrix 6x86, indeed. But I think you are kind of right:
You can use the privilege system to block access to TSC (otherwise, people
could find out things about other tasks or the OS by using exact time measures)
- but more important, a 386 or 486 does not have any TSC anyway (some 486 may
have one). So as MartinS has mailed me in PM: pctest is just stupid.

However, I wonder what MS DOS does when an illegal opcode occurs and the
application failed to install a handler? According to the docs, invalid
opcode is a fault. So with an IRET as "handler", we will end up in
an endless loop (as opposed to a trap, where the IRET would return to
the NEXT instruction).

I guess PCtest would hang MS DOS and gets aborted on FreeDOS, so we
should probably close this topic :-).

PS: Just got a mail coming in: MartinS is - as me - experiencing
the effect "XY does not run when TMP/TEMP points to a RAMDISK".
Would be interesting to research. I guess it involves some deadlock
or nesting troubles between kernel, ramdisk and memory drivers!?
Hi kernel / memory people, have fun checking that :-|.

(happens with XMSDSK, BITDISK and TDSK)

I found the PCtest sources in dos32a_720.zip (embarrassing...). Here
is a copy of only PCtest:

http://www.coli.uni-sb.de/~eric/stuff/soft/by-others/ pctest-dos32a_720.zip

The idea is that you run it using various DOS extenders, like cwstub, cwsdpmi,
dos32a, dos4gw, ... and compare the results.

The offending RDTSC is in pctest.asm, test_cpu586_ ...
which gets run from test_cpu_ if get_cpu_type_ returns at least 586.
the division constants are 18.2... and 10.0, by the way. You guess the rest.
get_cpu_type_ believes 0..386 as told by DPMI, but uses other checks to find
486 and 586: for 486, it tries to xor EFLAGS with 0x00200000, and for 586, it
issues CPUID (which it assumes to act as NOP on a 486). As far as I can see,
it does not handle ANYTHING, neither invalid opcode nor division by zero. Sigh.

Luckily you can disable CPUID on my Cyrix 6x86 (which is the default),
then hopefully PCTEST will believe that I have a 486 and work.

Eric.

----------
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^================================================================
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^================================================================

Reply via email to