Displaying 11 results from an estimated 11 matches for "__vmware_platform".
2016 Oct 20
0
[PATCH] x86/vmware: Read tsc_khz only once - at boot time
...vmware.c
index 5130985..46c7b9d 100644
--- a/arch/x86/kernel/cpu/vmware.c
+++ b/arch/x86/kernel/cpu/vmware.c
@@ -48,6 +48,8 @@
 			"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) :	\
 			"memory");
 
+static unsigned long vmware_tsc_khz __ro_after_init;
+
 static inline int __vmware_platform(void)
 {
 	uint32_t eax, ebx, ecx, edx;
@@ -57,35 +59,32 @@ static inline int __vmware_platform(void)
 
 static unsigned long vmware_get_tsc_khz(void)
 {
-	uint64_t tsc_hz, lpj;
-	uint32_t eax, ebx, ecx, edx;
-
-	VMWARE_PORT(GETHZ, eax, ebx, ecx, edx);
-
-	tsc_hz = eax | (((uint64_t)ebx) << 3...
2016 Oct 20
0
[PATCH] x86/vmware: Read tsc_khz only once - at boot time
...vmware.c
index 5130985..46c7b9d 100644
--- a/arch/x86/kernel/cpu/vmware.c
+++ b/arch/x86/kernel/cpu/vmware.c
@@ -48,6 +48,8 @@
 			"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) :	\
 			"memory");
 
+static unsigned long vmware_tsc_khz __ro_after_init;
+
 static inline int __vmware_platform(void)
 {
 	uint32_t eax, ebx, ecx, edx;
@@ -57,35 +59,32 @@ static inline int __vmware_platform(void)
 
 static unsigned long vmware_get_tsc_khz(void)
 {
-	uint64_t tsc_hz, lpj;
-	uint32_t eax, ebx, ecx, edx;
-
-	VMWARE_PORT(GETHZ, eax, ebx, ecx, edx);
-
-	tsc_hz = eax | (((uint64_t)ebx) << 3...
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...;eax, &hyper_vendor_id[0],
 		      &hyper_vendor_id[1], &hyper_vendor_id[2]);
 		if (!memcmp(hyper_vendor_id, "VMwareVMware", 12))
-			return true;
+			return CPUID_VMWARE_INFO_LEAF;
 	} else if (dmi_available && dmi_name_in_serial("VMware") &&
 		   __vmware_platform())
-		return true;
+		return 1;
 
-	return false;
+	return 0;
 }
 
 /*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index a96d32c..7817afd 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -498,11 +498,9 @@ void __init kvm_guest_init(void)
 #endif
 }
 
-static bool __i...
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...;eax, &hyper_vendor_id[0],
 		      &hyper_vendor_id[1], &hyper_vendor_id[2]);
 		if (!memcmp(hyper_vendor_id, "VMwareVMware", 12))
-			return true;
+			return CPUID_VMWARE_INFO_LEAF;
 	} else if (dmi_available && dmi_name_in_serial("VMware") &&
 		   __vmware_platform())
-		return true;
+		return 1;
 
-	return false;
+	return 0;
 }
 
 /*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index a96d32c..7817afd 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -498,11 +498,9 @@ void __init kvm_guest_init(void)
 #endif
 }
 
-static bool __i...
2013 Jul 25
2
[PATCH V2 4/4] x86: correctly detect hypervisor
...;eax, &hyper_vendor_id[0],
 		      &hyper_vendor_id[1], &hyper_vendor_id[2]);
 		if (!memcmp(hyper_vendor_id, "VMwareVMware", 12))
-			return true;
+			return CPUID_VMWARE_INFO_LEAF;
 	} else if (dmi_available && dmi_name_in_serial("VMware") &&
 		   __vmware_platform())
-		return true;
+		return 1;
 
-	return false;
+	return 0;
 }
 
 /*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index a96d32c..7817afd 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -498,11 +498,9 @@ void __init kvm_guest_init(void)
 #endif
 }
 
-static bool __i...
2015 Dec 04
0
[PATCH 2/6] x86: Update vmware.c to use the common VMW_PORT macros
...\
+	unsigned long __si = 0, __di = 0;                                 \
+	VMW_PORT(VMWARE_PORT_CMD_##cmd, UINT_MAX, VMWARE_HYPERVISOR_PORT, \
+		 VMWARE_HYPERVISOR_MAGIC,                                 \
+		 eax, ebx, ecx, edx, __si, __di);                         \
+})
+
 
 static inline int __vmware_platform(void)
 {
-- 
1.9.1
2016 Jan 19
0
[PATCH 2/6] x86: Update vmware.c to use the common VMW_PORT macros
...R_PORT), "3"(UINT_MAX) :	\
-			"memory");
+({									\
+	unsigned long __si, __di; /* Not used */			\
+	VMW_PORT(VMWARE_PORT_CMD_##cmd, UINT_MAX, 0, 0,			\
+		 VMWARE_HYPERVISOR_PORT, VMWARE_HYPERVISOR_MAGIC,	\
+		 eax, ebx, ecx, edx, __si, __di);			\
+})
+
 
 static inline int __vmware_platform(void)
 {
-- 
1.9.1
2015 Dec 04
0
[PATCH 2/6] x86: Update vmware.c to use the common VMW_PORT macros
...\
+	unsigned long __si = 0, __di = 0;                                 \
+	VMW_PORT(VMWARE_PORT_CMD_##cmd, UINT_MAX, VMWARE_HYPERVISOR_PORT, \
+		 VMWARE_HYPERVISOR_MAGIC,                                 \
+		 eax, ebx, ecx, edx, __si, __di);                         \
+})
+
 
 static inline int __vmware_platform(void)
 {
-- 
1.9.1
2016 Jan 19
0
[PATCH 2/6] x86: Update vmware.c to use the common VMW_PORT macros
...R_PORT), "3"(UINT_MAX) :	\
-			"memory");
+({									\
+	unsigned long __si, __di; /* Not used */			\
+	VMW_PORT(VMWARE_PORT_CMD_##cmd, UINT_MAX, 0, 0,			\
+		 VMWARE_HYPERVISOR_PORT, VMWARE_HYPERVISOR_MAGIC,	\
+		 eax, ebx, ecx, edx, __si, __di);			\
+})
+
 
 static inline int __vmware_platform(void)
 {
-- 
1.9.1
2015 Dec 01
11
[PATCH 1/6] x86: Add VMWare Host Communication Macros
These macros will be used by multiple VMWare modules for handling
host communication.
v2:
* Keeping only the minimal common platform defines
* added vmware_platform() check function
v3:
* Added new field to handle different hypervisor magic values
Signed-off-by: Sinclair Yeh <syeh at vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com>
Reviewed-by: Alok N Kataria
2015 Dec 01
11
[PATCH 1/6] x86: Add VMWare Host Communication Macros
These macros will be used by multiple VMWare modules for handling
host communication.
v2:
* Keeping only the minimal common platform defines
* added vmware_platform() check function
v3:
* Added new field to handle different hypervisor magic values
Signed-off-by: Sinclair Yeh <syeh at vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com>
Reviewed-by: Alok N Kataria