From: VMware, Inc <> Date: Sat, 28 May 2011 19:34:15 +0000 (-0700) Subject: Changes in shared code that don't affect open-vm-tools functionality. X-Git-Tag: 2011.05.27-420096~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed804b642598d4fb69fadd4dea0fb8af5109e71d;p=thirdparty%2Fopen-vm-tools.git Changes in shared code that don't affect open-vm-tools functionality. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/include/x86cpuid.h b/open-vm-tools/lib/include/x86cpuid.h index 8f549d792..3f68c63d0 100644 --- a/open-vm-tools/lib/include/x86cpuid.h +++ b/open-vm-tools/lib/include/x86cpuid.h @@ -825,22 +825,22 @@ CPUIDCheck(uint32 eaxIn, uint32 eaxInCheck, } #define CPUID_MASK(eaxIn, reg, flag) \ - CPUIDCheck(eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ + CPUIDCheck((uint32)eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ CPUID_REG_##reg, (CpuidReg)CPUID_INTERNAL_REG_##flag, \ CPUID_INTERNAL_MASK_##flag) #define CPUID_SHIFT(eaxIn, reg, flag) \ - CPUIDCheck(eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ + CPUIDCheck((uint32)eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ CPUID_REG_##reg, (CpuidReg)CPUID_INTERNAL_REG_##flag, \ CPUID_INTERNAL_SHIFT_##flag) #define CPUID_ISSET(eaxIn, reg, flag, data) \ - CPUIDCheck(eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ - CPUID_REG_##reg, (CpuidReg)CPUID_INTERNAL_REG_##flag, \ - (CPUID_INTERNAL_MASK_##flag & data) != 0) + (CPUIDCheck((uint32)eaxIn, CPUID_INTERNAL_EAXIN_##flag, \ + CPUID_REG_##reg, (CpuidReg)CPUID_INTERNAL_REG_##flag, \ + CPUID_INTERNAL_MASK_##flag & data) != 0) #define CPUID_GET(eaxIn, reg, field, data) \ - CPUIDCheck(eaxIn, CPUID_INTERNAL_EAXIN_##field, \ + CPUIDCheck((uint32)eaxIn, CPUID_INTERNAL_EAXIN_##field, \ CPUID_REG_##reg, (CpuidReg)CPUID_INTERNAL_REG_##field, \ ((uint32)data & CPUID_INTERNAL_MASK_##field) >> \ CPUID_INTERNAL_SHIFT_##field) @@ -850,14 +850,14 @@ CPUIDCheck(uint32 eaxIn, uint32 eaxInCheck, #define CPUID_SET(eaxIn, reg, flag, dataPtr) \ do { \ - ASSERT_ON_COMPILE(eaxIn == CPUID_INTERNAL_EAXIN_##flag && \ + ASSERT_ON_COMPILE((uint32)eaxIn == (uint32)CPUID_INTERNAL_EAXIN_##flag && \ CPUID_REG_##reg == (CpuidReg)CPUID_INTERNAL_REG_##flag); \ *dataPtr |= CPUID_INTERNAL_MASK_##flag; \ } while (0) #define CPUID_CLEAR(eaxIn, reg, flag, dataPtr) \ do { \ - ASSERT_ON_COMPILE(eaxIn == CPUID_INTERNAL_EAXIN_##flag && \ + ASSERT_ON_COMPILE((uint32)eaxIn == (uint32)CPUID_INTERNAL_EAXIN_##flag && \ CPUID_REG_##reg == (CpuidReg)CPUID_INTERNAL_REG_##flag); \ *dataPtr &= ~CPUID_INTERNAL_MASK_##flag; \ } while (0) @@ -865,10 +865,12 @@ CPUIDCheck(uint32 eaxIn, uint32 eaxInCheck, #define CPUID_SETTO(eaxIn, reg, field, dataPtr, val) \ do { \ uint32 *d = dataPtr; \ - ASSERT_ON_COMPILE(eaxIn == CPUID_INTERNAL_EAXIN_##field && \ + ASSERT_ON_COMPILE((uint32)eaxIn == (uint32)CPUID_INTERNAL_EAXIN_##field && \ CPUID_REG_##reg == (CpuidReg)CPUID_INTERNAL_REG_##field); \ *d = (*d & ~CPUID_INTERNAL_MASK_##field) | \ - (val << CPUID_INTERNAL_SHIFT_##field); \ + ((uint32)val << CPUID_INTERNAL_SHIFT_##field); \ + ASSERT(val == (*d & CPUID_INTERNAL_MASK_##field) >> \ + CPUID_INTERNAL_SHIFT_##field); \ } while (0) @@ -1163,13 +1165,22 @@ CPUID_MODEL_IS_BARCELONA(uint32 v) // IN: %eax from CPUID with %eax=1. #define CPUID_INTEL_ID4EAX_LEAF4_CACHE_TYPE_DATA 1 #define CPUID_INTEL_ID4EAX_LEAF4_CACHE_TYPE_INST 2 #define CPUID_INTEL_ID4EAX_LEAF4_CACHE_TYPE_UNIF 3 +#define CPUID_LEAF4_CACHE_TYPE_NULL 0 +#define CPUID_LEAF4_CACHE_TYPE_DATA 1 +#define CPUID_LEAF4_CACHE_TYPE_INST 2 +#define CPUID_LEAF4_CACHE_TYPE_UNIF 3 #define CPUID_INTEL_ID4EAX_LEAF4_CACHE_SELF_INIT 0x00000100 #define CPUID_INTEL_ID4EAX_LEAF4_CACHE_FULLY_ASSOC 0x00000200 +#define CPUID_LEAF4_CACHE_SELF_INIT 0x00000100 +#define CPUID_LEAF4_CACHE_FULLY_ASSOC 0x00000200 #define CPUID_INTEL_IDBECX_LEVEL_TYPE_INVALID 0 #define CPUID_INTEL_IDBECX_LEVEL_TYPE_SMT 1 #define CPUID_INTEL_IDBECX_LEVEL_TYPE_CORE 2 +#define CPUID_TOPOLOGY_LEVEL_TYPE_INVALID 0 +#define CPUID_TOPOLOGY_LEVEL_TYPE_SMT 1 +#define CPUID_TOPOLOGY_LEVEL_TYPE_CORE 2 /* diff --git a/open-vm-tools/lib/include/x86cpuid_asm.h b/open-vm-tools/lib/include/x86cpuid_asm.h index c02e3299f..a3b5e484c 100644 --- a/open-vm-tools/lib/include/x86cpuid_asm.h +++ b/open-vm-tools/lib/include/x86cpuid_asm.h @@ -262,7 +262,7 @@ __GET_CPUID(int input, CPUIDRegs *regs) #ifdef VM_X86_64 /* - * No inline assembly in Win64. Implemented in bora/lib/user in + * No inline assembly in Win64. Implemented in bora/lib/misc in * cpuidMasm64.asm. */ @@ -406,7 +406,7 @@ __GET_EDX_FROM_CPUID(int input) #ifdef VM_X86_64 /* - * No inline assembly in Win64. Implemented in bora/lib/user in + * No inline assembly in Win64. Implemented in bora/lib/misc in * cpuidMasm64.asm. */