From 3f9ffddc835fc93a2ddac7b4be58ec879cc2426a Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 2 Aug 2017 16:34:02 -0400 Subject: [PATCH] os/2: attempt to get cpuid support on OpenWatcom builds. --- src/physfs_lzmasdk.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/physfs_lzmasdk.h b/src/physfs_lzmasdk.h index 688c4aae..25900969 100644 --- a/src/physfs_lzmasdk.h +++ b/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];