PageRenderTime 49ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/v2/hw_cpuid.h

https://github.com/clockfort/ClockyOS
C Header | 52 lines | 34 code | 3 blank | 15 comment | 0 complexity | 6dfbec9fb7eb61b5c1eb8c793bb500b5 MD5 | raw file
  1. #ifndef HW_CPU_H
  2. #define HW_CPU_H
  3. #include "vid_boottext.h"
  4. void cpuid_string();
  5. void cpuid_get_features();
  6. //As per CPU Features manual at: http://sandpile.org/ia32/cpuid.htm
  7. typedef struct {
  8. unsigned int stuff_I_dont_care_about: 11;
  9. unsigned char SSE42: 1;
  10. unsigned char SSE41: 1;
  11. unsigned int still_dont_care: 9;
  12. unsigned char SSSE3: 1;
  13. unsigned char TM2: 1;
  14. unsigned char speedstep: 1;
  15. unsigned char yep_dont_care: 6;
  16. unsigned char SSE3: 1;
  17. } cpu_features_ecx;
  18. typedef struct {
  19. unsigned char stuff_I_dont_care_about: 3;
  20. unsigned char hyperthreading: 1;
  21. unsigned char selfsnoop: 1;
  22. unsigned char SSE2: 1;
  23. unsigned char SSE: 1;
  24. unsigned char FXSR: 1;
  25. unsigned char MMX: 1;
  26. unsigned int still_dont_care: 6;
  27. unsigned char PAT: 1;
  28. unsigned char guess_what_dont_care: 6;
  29. unsigned char APIC: 1;
  30. unsigned char dont_care_captain: 2;
  31. unsigned char PAE: 1;
  32. unsigned char yep_dont_care: 5;
  33. unsigned char FPU: 1;
  34. } cpu_features_edx;
  35. /*
  36. typedef struct {
  37. unsigned char FPU: 1;
  38. unsigned char yep_dont_care: 8;
  39. unsigned char APIC: 1;
  40. unsigned int still_dont_care: 13;
  41. unsigned char MMX: 1;
  42. unsigned char FXSR: 1;
  43. unsigned char SSE: 1;
  44. unsigned char SSE2: 1;
  45. unsigned char selfsnoop: 1;
  46. unsigned char hyperthreading: 1;
  47. unsigned char stuff_I_dont_care_about: 3;
  48. } cpu_features_edx;*/
  49. #endif