メインページ | アルファベット順一覧 | データ構造 | ファイル一覧 | データフィールド | グローバル | 関連ページ

x86.h

説明を見る。
00001 
00009 #ifndef DKUTIL_CSTD_X86_H
00010 #define DKUTIL_CSTD_X86_H
00011 
00012 #include "os.h"
00013 #include "define.h"
00014 #include "stdbool.h"
00015 
00016 enum edkX86_CPU_type{
00018     edkcCPU_Legacy=0,
00019     //intel系
00020     edkcCPU_MMX=1,
00021     edkcCPU_MMX2 = 2,
00022     edkcCPU_SSE=4,
00023     edkcCPU_SSE2=8,
00024     //AMD系
00025     edkcCPU_3DNOW=32,
00026     edkcCPU_E3DNOW=64,
00027     edkcCPU_3DNOW_PRO=128,
00028 };
00029 
00030 typedef struct dkcstd_CPU_INFO{
00031     char CPUName[256];
00032     char CPUType[128];
00033     unsigned char bFPU;
00034     unsigned char bTSC;
00035     unsigned char bCMOV;
00036     unsigned char bFCMOV;
00037     unsigned char bCPUID;
00038     unsigned char bMMX;
00039     unsigned char bMMX2;
00040     unsigned char bSSE;
00041     unsigned char bSSE2;
00042     unsigned char b3DNOW;
00043     unsigned char bE3DNOW;
00044     long TypeID;
00045     long FamilyID;
00046     long ModelID;
00047     long SteppingID;
00048     long CPUClock;
00049 }DKCSTD_CPU_INFO;
00050 
00051 #if 1==DKUTIL_CSTD_MSVC_IASM
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00060 DKC_EXTERN int WINAPI dkcstd_IsCPUID();
00061 DKC_EXTERN int WINAPI dkcstd_getCPUID();
00062 
00064 DKC_EXTERN uint32 WINAPI dkcstd_getX86CPUType();
00065 
00071 
00072 DKC_EXTERN BOOL WINAPI dkcstd_getX86CPUInfo(DKCSTD_CPU_INFO *dest,int CPUClockCalcTime);
00073 
00075 DKC_EXTERN uint16 WINAPI dkcstd_getFPUMode();
00076 
00078 DKC_EXTERN int WINAPI dkcstd_setFPUMode(uint16);
00079 
00080 DKC_EXTERN void WINAPI dkcstd_getRDTSC(DKC_UINT64_STRUCT *p);
00081 
00082 
00083 DKC_INLINE DKC_UINT64_STRUCT dkcstd_getRDTSC_Fast()
00084 {
00085     DKC_UINT64_STRUCT cy;   
00086     __asm {
00087     cpuid
00088     rdtsc
00089     mov cy.LowPart,  eax
00090     mov cy.HighPart, edx
00091     }
00092     return cy;
00093 }
00094 
00095 
00096 #endif
00097 
00098 #endif //end of include once
00099 

dkutil_cstdに対してSat Sep 10 09:19:18 2005に生成されました。  doxygen 1.4.4