Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 2014 03:58:13 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r263706 - user/marcel/mkimg
Message-ID:  <201403250358.s2P3wDHm066513@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Tue Mar 25 03:58:13 2014
New Revision: 263706
URL: http://svnweb.freebsd.org/changeset/base/263706

Log:
  Move setting CHS fields to mbr_chs() in preparation of ...

Modified:
  user/marcel/mkimg/mbr.c

Modified: user/marcel/mkimg/mbr.c
==============================================================================
--- user/marcel/mkimg/mbr.c	Tue Mar 25 03:30:44 2014	(r263705)
+++ user/marcel/mkimg/mbr.c	Tue Mar 25 03:58:13 2014	(r263706)
@@ -54,6 +54,15 @@ mbr_metadata(u_int where)
 	return (secs);
 }
 
+static void
+mbr_chs(u_char *cyl, u_char *hd, u_char *sec, uint32_t lba __unused)
+{
+
+	*cyl = 0xff;		/* XXX */
+	*hd = 0xff;		/* XXX */
+	*sec = 0xff;		/* XXX */
+}
+
 static int
 mbr_write(int fd, lba_t imgsz __unused, void *bootcode)
 {
@@ -75,9 +84,11 @@ mbr_write(int fd, lba_t imgsz __unused, 
 	STAILQ_FOREACH(part, &partlist, link) {
 		dp = dpbase + part->index;
 		dp->dp_flag = (part->index == 0 && bootcode != NULL) ? 0x80 : 0;
-		dp->dp_shd = dp->dp_ssect = dp->dp_scyl = 0xff;	/* XXX */
+		mbr_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect,
+		    part->block);
 		dp->dp_typ = ALIAS_TYPE2INT(part->type);
-		dp->dp_ehd = dp->dp_esect = dp->dp_ecyl = 0xff;	/* XXX */
+		mbr_chs(&dp->dp_ecyl, &dp->dp_ehd, &dp->dp_esect,
+		    part->block + part->size - 1);
 		le32enc(&dp[part->index].dp_start, part->block);
 		le32enc(&dp[part->index].dp_size, part->size);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403250358.s2P3wDHm066513>