windows-nt/Source/XPSP1/NT/base/subsys/posix/client/tst/tstncall.c
2020-09-26 16:20:57 +08:00

56 lines
1,020 B
C

#include <nt.h>
#include <ntrtl.h>
#include "psxmsg.h"
#include <signal.h>
#include <errno.h>
#include <sys/wait.h>
#include <unistd.h>
#include <fcntl.h>
#include "tsttmp.h" // defines DbgPrint as printf
#define MEM_CTL 0xb0000000
int main(int argc, char *argv[])
{
call0();
_exit(0);
return 1;
}
call0()
{
LONG x,i,j;
ULONG begin,end;
ULONG ibegin,iend;
VOID PdxNullPosixApi();
volatile PULONG MemCtl;
MemCtl = (PULONG) MEM_CTL;
#ifdef SIMULATOR
for(i=0;i<10;i++) {
begin = rnuminstr();
ibegin = DbgQueryIoCounter();
PdxNullPosixApi();
iend = DbgQueryIoCounter();
end = rnuminstr();
DbgPrint("Call Time 0x%lx dec %ld IO %ld\n", end - begin,end-begin, iend-ibegin);
}
#else
for(j=0;j<5;j++) {
DbgPrint("Starting 10000 Calls...");
x = *MemCtl;
for(i=0;i<10000;i++) {
PdxNullPosixApi();
}
x = *MemCtl;
DbgPrint("Complete\n");
}
#endif // SIMULATOR
}