From owner-svn-src-user@FreeBSD.ORG Sun Jan 6 03:51:45 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E59DF7AA; Sun, 6 Jan 2013 03:51:45 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A799110A; Sun, 6 Jan 2013 03:51:45 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r063pjsJ085162; Sun, 6 Jan 2013 03:51:45 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r063pjwa085160; Sun, 6 Jan 2013 03:51:45 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201301060351.r063pjwa085160@svn.freebsd.org> From: Hiroki Sato Date: Sun, 6 Jan 2013 03:51:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r245096 - user/hrs/releng/usr.sbin/makevd X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 03:51:46 -0000 Author: hrs Date: Sun Jan 6 03:51:44 2013 New Revision: 245096 URL: http://svnweb.freebsd.org/changeset/base/245096 Log: Always use LE byte order in VMDK. Modified: user/hrs/releng/usr.sbin/makevd/vmdk.c user/hrs/releng/usr.sbin/makevd/vmdk.h Modified: user/hrs/releng/usr.sbin/makevd/vmdk.c ============================================================================== --- user/hrs/releng/usr.sbin/makevd/vmdk.c Sun Jan 6 03:31:45 2013 (r245095) +++ user/hrs/releng/usr.sbin/makevd/vmdk.c Sun Jan 6 03:51:44 2013 (r245096) @@ -78,22 +78,23 @@ vmdk_makeim(struct iminfo *imi) if (vmdkfilebase == '\0') vmdkfilebase = vmdkfile; - imh->magicNumber = SPARSE_MAGICNUMBER; - imh->version = SPARSE_VERSION_DEFAULT; - imh->flags = 1; - imh->capacity = 0; - imh->grainSize = 16; - imh->descriptorOffset = (sizeof(*imh) + 511) / 512; - imh->descriptorSize = (sizeof(desc) + 511) / 512; - imh->numGTEsPerGT = 512; - imh->rgdOffset = 0; - imh->gdOffset = 0; - imh->overHead = imh->descriptorOffset + imh->descriptorSize; - imh->uncleanShutdown = 0; - imh->singleEndLineChar = '\n'; - imh->nonEndLineChar = ' '; - imh->doubleEndLineChar1 = '\r'; - imh->doubleEndLineChar2 = '\n'; + /* All of the fields are in LE byte order. */ + imh->magicNumber = htole32(SEH_MAGICNUMBER); + imh->version = htole32(SEH_VERSION_DEFAULT); + imh->flags = htole32(1); + imh->capacity = htole64(0); + imh->grainSize = htole64(16); + imh->descriptorOffset = htole64((sizeof(*imh) + 511) / 512); + imh->descriptorSize = htole64((sizeof(desc) + 511) / 512); + imh->numGTEsPerGT = htole32(512); + imh->rgdOffset = htole64(0); + imh->gdOffset = htole64(0); + imh->overHead = htole64(imh->descriptorOffset + imh->descriptorSize); + imh->uncleanShutdown = 0; + imh->singleEndLineChar = '\n'; + imh->nonEndLineChar = ' '; + imh->doubleEndLineChar1 = '\r'; + imh->doubleEndLineChar2 = '\n'; sectors = 63; heads = 16; Modified: user/hrs/releng/usr.sbin/makevd/vmdk.h ============================================================================== --- user/hrs/releng/usr.sbin/makevd/vmdk.h Sun Jan 6 03:31:45 2013 (r245095) +++ user/hrs/releng/usr.sbin/makevd/vmdk.h Sun Jan 6 03:51:44 2013 (r245096) @@ -38,9 +38,12 @@ typedef uint16_t uint16; typedef uint8_t uint8; typedef uint8_t Bool; +/* All of the fields are in LE byte order. */ struct SparseExtentHeader { uint32 magicNumber; +#define SEH_MAGICNUMBER (0x564d444b) /* "VMDK" */ uint32 version; +#define SEH_VERSION_DEFAULT (2) uint32 flags; SectorType capacity; SectorType grainSize; @@ -59,12 +62,4 @@ struct SparseExtentHeader { uint8 pad[433]; } __attribute__((__packed__)); -#if _BYTE_ORDER == _BIG_ENDIAN -#define SPARSE_MAGICNUMBER (0x4b444d56) /* 'K' 'D' 'M' 'V' */ -#else -#define SPARSE_MAGICNUMBER (0x564d444b) /* 'V' 'M' 'D' 'K' */ -#endif - -#define SPARSE_VERSION_DEFAULT 2 - #endif /* _VMDK_H */