Sfoglia il codice sorgente

os/2: attempt to get cpuid support on OpenWatcom builds.

Ryan C. Gordon 8 anni fa
parent
commit
3f9ffddc83
1 ha cambiato i file con 13 aggiunte e 3 eliminazioni
  1. 13 3
      src/physfs_lzmasdk.h

+ 13 - 3
src/physfs_lzmasdk.h

@@ -1450,6 +1450,19 @@ static UInt32 CheckFlag(UInt32 flag)
 #define CHECK_CPUID_IS_SUPPORTED
 #endif
 
+#if defined(__WATCOMC__)
+static void __cpuid( int cpuinfo[4], uint32_t infotype );
+#pragma aux __cpuid =      \
+    ".586"                \
+    "cpuid"               \
+    "mov  [esi+0],eax"    \
+    "mov  [esi+4],ebx"    \
+    "mov  [esi+8],ecx"    \
+    "mov  [esi+12],edx"   \
+    parm [esi] [eax] modify [ebx ecx edx];
+#endif
+
+
 static void MyCPUID(UInt32 function, UInt32 *a, UInt32 *b, UInt32 *c, UInt32 *d)
 {
   #ifdef USE_ASM
@@ -1498,9 +1511,6 @@ static void MyCPUID(UInt32 function, UInt32 *a, UInt32 *b, UInt32 *c, UInt32 *d)
 
   #endif
 
-  #elif defined(__WATCOMC__)
-  *a = *b = *c = *d = 0;  /* !!! FIXME: oh well for now. */
-
   #else
 
   int CPUInfo[4];