You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.0 KiB
90 lines
2.0 KiB
#ifndef _NPXSTRES_H_
|
|
#define _NPXSTRES_H_
|
|
|
|
//
|
|
// Default number of threads to create
|
|
//
|
|
#define DEF_NUM_THREADS 10
|
|
|
|
//
|
|
// This flag is set when it is known the thread has never done FP. In all cases
|
|
// the control word should be set properly (0x27F). If the thread is clean the
|
|
// status word should be zero.
|
|
//
|
|
#define PREINIT_FLAG_CLEANTHREAD 0x00000001
|
|
|
|
#define EXCEPTIONTEST_FLAG_SLEEP 0x00000001
|
|
#define EXCEPTIONTEST_FLAG_CALL_KERNEL_FP 0x00000002
|
|
#define EXCEPTIONTEST_FLAG_SPIN 0x00000004
|
|
|
|
typedef struct {
|
|
|
|
CRITICAL_SECTION Crit;
|
|
ULONG FailureFlags;
|
|
|
|
} TEST_INFO, *PTEST_INFO;
|
|
|
|
#define FAILURECASE_DIRTY_PREINIT 0x00000001
|
|
#define FAILURECASE_CLEAN_PREINIT 0x00000002
|
|
#define FAILURECASE_CONTROL_CORRUPTION 0x00000004
|
|
#define FAILURECASE_STATUS_CORRUPTION 0x00000008
|
|
#define FAILURECASE_STX_CORRUPTION 0x00000010
|
|
#define FAILURECASE_SPIN_PEND 0x00000020
|
|
#define FAILURECASE_SLEEP_PEND 0x00000040
|
|
#define FAILURECASE_API_PEND 0x00000080
|
|
|
|
VOID
|
|
DoFpPreinitTest(
|
|
IN OUT PTEST_INFO TestInfo,
|
|
IN ULONG PreInitTestFlags
|
|
);
|
|
|
|
VOID
|
|
DoFpControlCorruptionTest(
|
|
IN OUT PTEST_INFO TestInfo
|
|
);
|
|
|
|
VOID
|
|
DoFpStatusCorruptionTest(
|
|
IN OUT PTEST_INFO TestInfo
|
|
);
|
|
|
|
VOID
|
|
DoPendingExceptionTest(
|
|
IN PTEST_INFO TestInfo,
|
|
IN ULONG ExceptionTestFlags,
|
|
IN ULONG FailureCode
|
|
);
|
|
|
|
VOID
|
|
DoFpSt0CorruptionTest(
|
|
IN OUT PTEST_INFO TestInfo
|
|
);
|
|
|
|
DWORD
|
|
WINAPI
|
|
FpThread(
|
|
LPVOID Parameter
|
|
);
|
|
|
|
VOID
|
|
PrintResult(
|
|
IN FILE *Handle,
|
|
IN LPTSTR TestText,
|
|
IN PTEST_INFO TestInfo,
|
|
IN ULONG FailureFlags
|
|
);
|
|
|
|
VOID
|
|
SetFailureFlag(
|
|
IN OUT PTEST_INFO TestInfo,
|
|
IN ULONG FailureFlags
|
|
);
|
|
|
|
VOID
|
|
FPxTestCallback(
|
|
IN PVOID Context
|
|
);
|
|
|
|
#endif // _NPXSTRESS_H_
|
|
|