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>