Package new upstream version open-vm-tools-10.1.0-4449150 (RHBZ#1408959).
Remove patches that are no longer needed. Build with --enable-xmlsec1 to avoid dependency on xerces-c and xml-security-c. Replace _prefix/lib/udev/rules.d/ with _udevrulesdir macro.
This commit is contained in:
parent
5ecc079e0d
commit
b0d2ee9dc2
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@
|
||||
/open-vm-tools-9.10.2-2822639.tar.gz
|
||||
/open-vm-tools-10.0.0-3000743.tar.gz
|
||||
/open-vm-tools-10.0.5-3227872.tar.gz
|
||||
/open-vm-tools-10.1.0-4449150.tar.gz
|
||||
|
@ -1,3 +0,0 @@
|
||||
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*" , ATTRS{model}=="Virtual disk*", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"
|
||||
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*" , ATTRS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"
|
||||
|
21
Makefile.am
21
Makefile.am
@ -1,21 +0,0 @@
|
||||
################################################################################
|
||||
### Copyright (C) 2016 VMware, Inc. All rights reserved.
|
||||
###
|
||||
### This program is free software; you can redistribute it and/or modify
|
||||
### it under the terms of version 2 of the GNU General Public License as
|
||||
### published by the Free Software Foundation.
|
||||
###
|
||||
### This program is distributed in the hope that it will be useful,
|
||||
### but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
### GNU General Public License for more details.
|
||||
###
|
||||
### You should have received a copy of the GNU General Public License
|
||||
### along with this program; if not, write to the Free Software
|
||||
### Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
################################################################################
|
||||
|
||||
install-data-local:
|
||||
$(INSTALL) -d $(DESTDIR)$(UDEVRULESDIR)
|
||||
$(INSTALL) $(srcdir)/99-vmware-scsi-udev.rules $(DESTDIR)$(UDEVRULESDIR)
|
||||
|
112
hgfs-cache.patch
112
hgfs-cache.patch
@ -1,112 +0,0 @@
|
||||
--- vmhgfs-fuse/main.c.orig 2016-09-13 17:42:20.000238000 -0700
|
||||
+++ vmhgfs-fuse/main.c 2016-09-13 17:51:04.001947000 -0700
|
||||
@@ -495,7 +495,9 @@
|
||||
}
|
||||
|
||||
res = HgfsDelete(abspath, HGFS_OP_DELETE_FILE);
|
||||
- HgfsInvalidateAttrCache(abspath);
|
||||
+ if (res == 0) {
|
||||
+ HgfsInvalidateAttrCache(abspath);
|
||||
+ }
|
||||
|
||||
exit:
|
||||
LOG(4, ("Exit(%d)\n", res));
|
||||
@@ -533,7 +535,9 @@
|
||||
}
|
||||
|
||||
res = HgfsDelete(abspath, HGFS_OP_DELETE_DIR);
|
||||
- HgfsInvalidateAttrCache(abspath);
|
||||
+ if (res == 0) {
|
||||
+ HgfsInvalidateAttrCache(abspath);
|
||||
+ }
|
||||
|
||||
exit:
|
||||
LOG(4, ("Exit(%d)\n", res));
|
||||
@@ -621,7 +625,10 @@
|
||||
}
|
||||
|
||||
res = HgfsRename(absfrom, absto);
|
||||
- HgfsInvalidateAttrCache(absfrom);
|
||||
+ if (res == 0) {
|
||||
+ HgfsInvalidateAttrCache(absfrom);
|
||||
+ HgfsInvalidateAttrCache(absto);
|
||||
+ }
|
||||
|
||||
exit:
|
||||
LOG(4, ("Exit(%d)\n", res));
|
||||
@@ -1136,7 +1143,14 @@
|
||||
}
|
||||
|
||||
res = HgfsWrite(fi, buf, size, offset);
|
||||
- HgfsInvalidateAttrCache(abspath);
|
||||
+ if (res >= 0) {
|
||||
+ /*
|
||||
+ * Positive result indicates the number of bytes written.
|
||||
+ * For zero bytes and no error, we still purge the cache
|
||||
+ * this could effect the attributes.
|
||||
+ */
|
||||
+ HgfsInvalidateAttrCache(abspath);
|
||||
+ }
|
||||
|
||||
exit:
|
||||
LOG(4, ("Exit(%d)\n", res));
|
||||
--- vmhgfs-fuse/cache.c.orig 2016-09-13 17:43:28.000010000 -0700
|
||||
+++ vmhgfs-fuse/cache.c 2016-09-13 17:45:56.000322000 -0700
|
||||
@@ -25,7 +25,13 @@
|
||||
#if !defined(__FreeBSD__) && !defined(__SOLARIS__)
|
||||
#include <glib.h>
|
||||
#endif
|
||||
-#define CACHE_TIMEOUT 5
|
||||
+
|
||||
+/*
|
||||
+ * We make the default attribute cache timeout 1 second which is the same
|
||||
+ * as the FUSE driver.
|
||||
+ * This can be overridden with the mount option attr_timeout=T
|
||||
+ */
|
||||
+#define CACHE_TIMEOUT HGFS_DEFAULT_TTL
|
||||
#define CACHE_PURGE_TIME 10
|
||||
#define CACHE_PURGE_SLEEP_TIME 30
|
||||
#define HASH_THRESHOLD_SIZE (2046 * 4)
|
||||
--- vmhgfs-fuse/module.h.orig 2016-09-13 17:49:17.000083000 -0700
|
||||
+++ vmhgfs-fuse/module.h 2016-09-13 17:49:44.000108000 -0700
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "vm_assert.h"
|
||||
#include "cpName.h"
|
||||
#include "cpNameLite.h"
|
||||
-#include "hgfsUtil.h"
|
||||
+#include "hgfsDevLinux.h"
|
||||
#include "request.h"
|
||||
#include "fsutil.h"
|
||||
#include "filesystem.h"
|
||||
--- vmhgfs-fuse/file.c.orig 2016-09-13 17:51:36.003169000 -0700
|
||||
+++ vmhgfs-fuse/file.c 2016-09-13 17:53:21.000104000 -0700
|
||||
@@ -859,6 +859,7 @@
|
||||
const char *buffer = buf;
|
||||
loff_t curOffset = offset;
|
||||
size_t nextCount, remainingCount = count;
|
||||
+ ssize_t bytesWritten = 0;
|
||||
|
||||
ASSERT(NULL != buf);
|
||||
ASSERT(NULL != fi);
|
||||
@@ -875,6 +876,7 @@
|
||||
|
||||
result = HgfsDoWrite(fi->fh, buffer, nextCount, curOffset);
|
||||
if (result < 0) {
|
||||
+ bytesWritten = result;
|
||||
LOG(4, ("Error: DoWrite -> %d\n", result));
|
||||
goto out;
|
||||
}
|
||||
@@ -884,9 +886,11 @@
|
||||
|
||||
} while ((result > 0) && (remainingCount > 0));
|
||||
|
||||
+ bytesWritten = count - remainingCount;
|
||||
+
|
||||
out:
|
||||
- LOG(6, ("Exit(0x%"FMTSZ"x)\n", count - remainingCount));
|
||||
- return (count - remainingCount);
|
||||
+ LOG(6, ("Exit(0x%"FMTSZ"x)\n", bytesWritten));
|
||||
+ return bytesWritten;
|
||||
}
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
--- configure.ac.old 2016-05-24 23:43:41.265711304 -0700
|
||||
+++ configure.ac 2016-05-25 00:03:39.128437427 -0700
|
||||
@@ -942,7 +942,8 @@
|
||||
# Glib2 keep changing mutex APIs so we also need to disable 'deprecated'
|
||||
# warnings for now (-Wno-deprecated-declarations).
|
||||
for TEST_CFLAG in -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing \
|
||||
- -Wno-unknown-pragmas -Wno-uninitialized -Wno-deprecated-declarations; do
|
||||
+ -Wno-unknown-pragmas -Wno-uninitialized -Wno-deprecated-declarations \
|
||||
+ -Wno-unused-const-variable; do
|
||||
AC_MSG_CHECKING([for GCC flag $TEST_CFLAG])
|
||||
ORIGINAL_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $TEST_CFLAG"
|
@ -19,37 +19,31 @@
|
||||
################################################################################
|
||||
|
||||
%global _hardened_build 1
|
||||
%global majorversion 10.0
|
||||
%global minorversion 5
|
||||
%global toolsbuild 3227872
|
||||
%global majorversion 10.1
|
||||
%global minorversion 0
|
||||
%global toolsbuild 4449150
|
||||
%global downloadid 784682
|
||||
%global toolsversion %{majorversion}.%{minorversion}
|
||||
%global toolsdaemon vmtoolsd
|
||||
%global vgauthdaemon vgauthd
|
||||
|
||||
Name: open-vm-tools
|
||||
Version: %{toolsversion}
|
||||
Release: 10%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: Open Virtual Machine Tools for virtual machines hosted on VMware
|
||||
Group: Applications/System
|
||||
License: GPLv2
|
||||
URL: http://%{name}.sourceforge.net/
|
||||
Source0: http://sourceforge.net/projects/%{name}/files/%{name}/stable-%{majorversion}.x/%{name}-%{version}-%{toolsbuild}.tar.gz
|
||||
URL: http://github.com/vmware/%{name}
|
||||
Source0: http://github.com/vmware/%{name}/files/%{downloadid}/%{name}-%{version}-%{toolsbuild}.tar.gz
|
||||
Source1: %{toolsdaemon}.service
|
||||
Source2: %{vgauthdaemon}.service
|
||||
Source3: Makefile.am
|
||||
Source4: 99-vmware-scsi-udev.rules
|
||||
%if 0%{?rhel} >= 7
|
||||
ExclusiveArch: x86_64
|
||||
%else
|
||||
ExclusiveArch: %{ix86} x86_64
|
||||
%endif
|
||||
|
||||
Patch1: no-unused-const.patch
|
||||
Patch2: vmw-bitmask-gcc6.patch
|
||||
Patch3: hgfs-cache.patch
|
||||
Patch4: udev-rules.patch
|
||||
Patch5: glibc-sysmacros.patch
|
||||
Patch6: openssl-vgauth.patch
|
||||
Patch1: glibc-sysmacros.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
@ -72,6 +66,9 @@ BuildRequires: gtkmm24-devel
|
||||
BuildRequires: libdnet-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libmspack-devel
|
||||
# Unfortunately, xmlsec1-openssl does not add libtool-ltdl
|
||||
# dependency, so we need to add it ourselves.
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXi-devel
|
||||
@ -83,8 +80,7 @@ BuildRequires: openssl-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: procps-devel
|
||||
BuildRequires: systemd
|
||||
BuildRequires: xerces-c-devel
|
||||
BuildRequires: xml-security-c-devel
|
||||
BuildRequires: xmlsec1-openssl-devel
|
||||
|
||||
Requires: coreutils
|
||||
Requires: fuse
|
||||
@ -130,35 +126,17 @@ VMware virtual machines.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}-%{toolsbuild}
|
||||
|
||||
%patch1 -p0
|
||||
%patch2 -p0
|
||||
%patch3 -p0
|
||||
%patch4 -p0
|
||||
%patch5 -p0
|
||||
%patch6 -p0
|
||||
|
||||
%build
|
||||
mkdir -p udev
|
||||
cp %{SOURCE3} udev
|
||||
cp %{SOURCE4} udev
|
||||
|
||||
# Fedora 23 uses libsigc++-2.0 version 2.6.1.
|
||||
# libsigc++-2.0 >= 2.5.1 requires C++11. Using
|
||||
# -std=c++11 does not provide "linux" definition
|
||||
# therefore, we need to use -std=gnu++11
|
||||
%if 0%{?fedora} >= 23
|
||||
export CXXFLAGS="$RPM_OPT_FLAGS -std=gnu++11"
|
||||
%endif
|
||||
# Required for regenerating configure script when
|
||||
# configure.ac get modified
|
||||
autoreconf -i
|
||||
autoconf
|
||||
|
||||
# configure from open-vm-tools 9.10.2 is missing 'x' bit
|
||||
chmod a+x configure
|
||||
%configure \
|
||||
--without-kernel-modules \
|
||||
--enable-xmlsec1 \
|
||||
--disable-static
|
||||
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
|
||||
make %{?_smp_mflags}
|
||||
@ -264,6 +242,7 @@ fi
|
||||
%dir %{_sysconfdir}/vmware-tools/vgauth
|
||||
%dir %{_sysconfdir}/vmware-tools/vgauth/schemas
|
||||
%config(noreplace) %{_sysconfdir}/vmware-tools/*.conf
|
||||
# Don't expect users to modify VGAuth schema files
|
||||
%config %{_sysconfdir}/vmware-tools/vgauth/schemas/*
|
||||
%{_sysconfdir}/vmware-tools/*-vm-default
|
||||
%{_sysconfdir}/vmware-tools/scripts
|
||||
@ -275,6 +254,7 @@ fi
|
||||
%{_bindir}/vmware-checkvm
|
||||
%{_bindir}/vmware-guestproxycerttool
|
||||
%{_bindir}/vmware-hgfsclient
|
||||
%{_bindir}/vmware-namespace-cmd
|
||||
%{_bindir}/vmware-rpctool
|
||||
%{_bindir}/vmware-toolbox-cmd
|
||||
%{_bindir}/vmware-vgauth-cmd
|
||||
@ -290,8 +270,8 @@ fi
|
||||
%{_libdir}/%{name}/plugins/common/*.so
|
||||
%dir %{_libdir}/%{name}/plugins/vmsvc
|
||||
%{_libdir}/%{name}/plugins/vmsvc/*.so
|
||||
%{_prefix}/lib/udev/rules.d/99-vmware-scsi-udev.rules
|
||||
%{_datadir}/%{name}/
|
||||
%{_udevrulesdir}/99-vmware-scsi-udev.rules
|
||||
%{_unitdir}/%{toolsdaemon}.service
|
||||
%{_unitdir}/%{vgauthdaemon}.service
|
||||
|
||||
@ -313,6 +293,12 @@ fi
|
||||
%{_libdir}/libvmtools.so
|
||||
|
||||
%changelog
|
||||
* Fri Feb 17 2017 Ravindra Kumar <ravindrakumar@vmware.com> - 10.1.0-1
|
||||
- Package new upstream version open-vm-tools-10.1.0-4449150 (RHBZ#1408959).
|
||||
- Remove patches that are no longer needed.
|
||||
- Build with --enable-xmlsec1 to avoid dependency on xerces-c and xml-security-c.
|
||||
- Replace _prefix/lib/udev/rules.d/ with _udevrulesdir macro.
|
||||
|
||||
* Thu Feb 16 2017 Ravindra Kumar <ravindrakumar@vmware.com> - 10.0.5-10
|
||||
- sysmacros patch for glibc-2.25 (RHBZ#1411807).
|
||||
- vgauth patch for openssl-1.1.0.
|
||||
|
@ -1,77 +0,0 @@
|
||||
--- vgauth/common/certverify.c.orig 2017-02-16 19:08:36.509896717 -0800
|
||||
+++ vgauth/common/certverify.c 2017-02-16 19:15:02.716084270 -0800
|
||||
@@ -827,11 +827,15 @@
|
||||
const unsigned char *signature)
|
||||
{
|
||||
VGAuthError err = VGAUTH_E_FAIL;
|
||||
- EVP_MD_CTX mdCtx;
|
||||
+ EVP_MD_CTX *mdCtx = NULL;
|
||||
const EVP_MD *hashAlg;
|
||||
int ret;
|
||||
|
||||
- EVP_MD_CTX_init(&mdCtx);
|
||||
+ mdCtx = EVP_MD_CTX_new();
|
||||
+ if (mdCtx == NULL) {
|
||||
+ g_warning("%s: unable to allocate a message digest.\n", __FUNCTION__);
|
||||
+ return(VGAUTH_E_OUT_OF_MEMORY);
|
||||
+ }
|
||||
|
||||
switch (hash) {
|
||||
case VGAUTH_HASH_ALG_SHA256:
|
||||
@@ -843,7 +847,7 @@
|
||||
goto done;
|
||||
}
|
||||
|
||||
- ret = EVP_VerifyInit(&mdCtx, hashAlg);
|
||||
+ ret = EVP_VerifyInit(mdCtx, hashAlg);
|
||||
if (ret <= 0) {
|
||||
VerifyDumpSSLErrors();
|
||||
g_warning("%s: unable to initialize verificatation context (ret = %d)\n",
|
||||
@@ -856,7 +860,7 @@
|
||||
* one shot. We probably should put some upper bound on the size of the
|
||||
* data.
|
||||
*/
|
||||
- ret = EVP_VerifyUpdate(&mdCtx, data, dataLen);
|
||||
+ ret = EVP_VerifyUpdate(mdCtx, data, dataLen);
|
||||
if (ret <= 0) {
|
||||
VerifyDumpSSLErrors();
|
||||
g_warning("%s: unable to update verificatation context (ret = %d)\n",
|
||||
@@ -864,7 +868,7 @@
|
||||
goto done;
|
||||
}
|
||||
|
||||
- ret = EVP_VerifyFinal(&mdCtx, signature, (unsigned int) signatureLen, publicKey);
|
||||
+ ret = EVP_VerifyFinal(mdCtx, signature, (unsigned int) signatureLen, publicKey);
|
||||
if (0 == ret) {
|
||||
g_debug("%s: verification failed!\n", __FUNCTION__);
|
||||
err = VGAUTH_E_AUTHENTICATION_DENIED;
|
||||
@@ -879,7 +883,7 @@
|
||||
err = VGAUTH_E_OK;
|
||||
|
||||
done:
|
||||
- EVP_MD_CTX_cleanup(&mdCtx);
|
||||
+ EVP_MD_CTX_free(mdCtx);
|
||||
|
||||
return err;
|
||||
}
|
||||
--- vgauth/common/certverify.h.orig 2017-02-16 19:08:43.843033377 -0800
|
||||
+++ vgauth/common/certverify.h 2017-02-16 19:22:38.248130476 -0800
|
||||
@@ -28,6 +28,18 @@
|
||||
#include <glib.h>
|
||||
#include "VGAuthAuthentication.h"
|
||||
|
||||
+/* new API from OpenSSL 1.1.0
|
||||
+ * https://www.openssl.org/docs/manmaster/crypto/EVP_DigestInit.html
|
||||
+ *
|
||||
+ * EVP_MD_CTX_create() and EVP_MD_CTX_destroy() were renamed to
|
||||
+ * EVP_MD_CTX_new() and EVP_MD_CTX_free() in OpenSSL 1.1.
|
||||
+ */
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+#define EVP_MD_CTX_new() EVP_MD_CTX_create()
|
||||
+#define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
|
||||
+#endif /* OpenSSL version < 1.1.0 */
|
||||
+
|
||||
+
|
||||
/*
|
||||
* XXX Do we still need this? What other algorithms do SAML tokens use?
|
||||
*/
|
2
sources
2
sources
@ -1 +1 @@
|
||||
734eccf6e9e007cb37dc4eb3ed6707b5 open-vm-tools-10.0.5-3227872.tar.gz
|
||||
SHA512 (open-vm-tools-10.1.0-4449150.tar.gz) = 268292a732bc9d1ed0ddc7610aed18218a2469b2989c6f8381efaf4bb413c3a66a28c30ffb9b318fe05d0c64ed4f95c868c2511142959c03218d573a48a5c5b1
|
||||
|
@ -1,63 +0,0 @@
|
||||
--- configure.ac.orig 2016-09-20 15:43:37.000488000 -0700
|
||||
+++ configure.ac 2016-09-20 16:12:30.000350000 -0700
|
||||
@@ -1129,6 +1129,26 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+if test "$os" = "linux"; then
|
||||
+ have_udev="yes"
|
||||
+ AC_ARG_WITH([udev-rules-dir],
|
||||
+ [AS_HELP_STRING([--with-udev-rules-dir=DIR],
|
||||
+ [where to install udev rules])],
|
||||
+ [UDEVRULESDIR="$withval"],
|
||||
+ [
|
||||
+ UDEVRULESDIR="/lib/udev/rules.d"
|
||||
+ if test $HAVE_PKG_CONFIG = "yes"; then
|
||||
+ udevdir=$(pkg-config udev --variable=udevdir)
|
||||
+ if test "x$udevdir" != "x"; then
|
||||
+ UDEVRULESDIR="$udevdir/rules.d"
|
||||
+ fi
|
||||
+ fi
|
||||
+ ])
|
||||
+else
|
||||
+ have_udev="no"
|
||||
+ UDEVRULESDIR=""
|
||||
+fi
|
||||
+
|
||||
AM_CONDITIONAL(BUILD_HGFSMOUNTER, test "$buildHgfsmounter" = "yes")
|
||||
AM_CONDITIONAL(LINUX, test "$os" = "linux")
|
||||
AM_CONDITIONAL(SOLARIS, test "$os" = "solaris")
|
||||
@@ -1155,6 +1175,7 @@
|
||||
AM_CONDITIONAL(ENABLE_GRABBITMQPROXY, test "$enable_grabbitmqproxy" = "yes")
|
||||
AM_CONDITIONAL(ENABLE_VGAUTH, test "$enable_vgauth" = "yes")
|
||||
AM_CONDITIONAL(HAVE_VSOCK, test "$os" = "linux")
|
||||
+AM_CONDITIONAL(HAVE_UDEV, test "$have_udev" = "yes")
|
||||
|
||||
if test "$have_xsm" != "yes"; then
|
||||
AC_DEFINE([NO_XSM], 1, [])
|
||||
@@ -1258,6 +1279,8 @@
|
||||
AC_SUBST([VIX_LIBADD])
|
||||
AC_SUBST([VGAUTH_LIBADD])
|
||||
|
||||
+AC_SUBST([UDEVRULESDIR])
|
||||
+
|
||||
###
|
||||
### Create the Makefiles
|
||||
###
|
||||
@@ -1357,6 +1380,7 @@
|
||||
docs/api/Makefile \
|
||||
scripts/Makefile \
|
||||
scripts/build/rpcgen_wrapper.sh \
|
||||
+ udev/Makefile \
|
||||
])
|
||||
|
||||
###
|
||||
--- Makefile.am.orig 2016-09-20 15:43:16.000191000 -0700
|
||||
+++ Makefile.am 2016-09-20 15:58:00.001125000 -0700
|
||||
@@ -64,3 +64,6 @@
|
||||
endif
|
||||
SUBDIRS += docs
|
||||
|
||||
+if HAVE_UDEV
|
||||
+ SUBDIRS += udev
|
||||
+endif
|
@ -1,16 +0,0 @@
|
||||
--- lib/include/x86cpuid.h.old 2016-05-24 23:23:20.747118224 -0700
|
||||
+++ lib/include/x86cpuid.h 2016-05-24 23:28:35.829547406 -0700
|
||||
@@ -905,11 +905,9 @@
|
||||
*
|
||||
* e.g. - CPUID_VIRT_BITS_MASK = 0xff00
|
||||
* - CPUID_VIRT_BITS_SHIFT = 8
|
||||
- *
|
||||
- * Note: The MASK definitions must use some gymnastics to get
|
||||
- * around a warning when shifting left by 32.
|
||||
*/
|
||||
-#define VMW_BIT_MASK(shift) (((1 << (shift - 1)) << 1) - 1)
|
||||
+#define VMW_BIT_MASK(shift) (0xffffffffu >> (32 - shift))
|
||||
+
|
||||
|
||||
#define FIELD(lvl, ecxIn, reg, bitpos, size, name, s, c3) \
|
||||
CPUID_##name##_SHIFT = bitpos, \
|
Loading…
Reference in New Issue
Block a user