Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Feb 2013 08:24:40 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r246938 - in stable/9/sys: boot/common sys
Message-ID:  <201302180824.r1I8Oe5H084805@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ae
Date: Mon Feb 18 08:24:39 2013
New Revision: 246938
URL: http://svnweb.freebsd.org/changeset/base/246938

Log:
  MFC r246630:
    Add bootcamp support to the loader.

Modified:
  stable/9/sys/boot/common/part.c
  stable/9/sys/sys/diskmbr.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/boot/   (props changed)

Modified: stable/9/sys/boot/common/part.c
==============================================================================
--- stable/9/sys/boot/common/part.c	Mon Feb 18 05:05:01 2013	(r246937)
+++ stable/9/sys/boot/common/part.c	Mon Feb 18 08:24:39 2013	(r246938)
@@ -645,9 +645,13 @@ ptable_open(void *dev, off_t sectors, ui
 	/* Do we have some invalid values? */
 	if (i != NDOSPART ||
 	    (table->type == PTABLE_GPT && count > 1)) {
-		table->type = PTABLE_NONE;
-		DEBUG("invalid values detected, ignore partition table");
-		goto out;
+		if (dp[1].dp_typ != DOSPTYP_HFS) {
+			table->type = PTABLE_NONE;
+			DEBUG("invalid values detected, ignore "
+			    "partition table");
+			goto out;
+		}
+		DEBUG("Bootcamp detected");
 	}
 #ifdef LOADER_GPT_SUPPORT
 	if (table->type == PTABLE_GPT) {

Modified: stable/9/sys/sys/diskmbr.h
==============================================================================
--- stable/9/sys/sys/diskmbr.h	Mon Feb 18 05:05:01 2013	(r246937)
+++ stable/9/sys/sys/diskmbr.h	Mon Feb 18 08:24:39 2013	(r246938)
@@ -50,6 +50,7 @@
 #define	DOSPTYP_EXTLBA	0x0f	/* DOS extended partition */
 #define	DOSPTYP_LDM	0x42	/* Win2k dynamic extended partition */
 #define	DOSPTYP_386BSD	0xa5	/* 386BSD partition type */
+#define	DOSPTYP_HFS	0xaf	/* HFS/HFS+ partition type */
 #define	DOSPTYP_LINSWP	0x82	/* Linux swap partition */
 #define	DOSPTYP_LINUX	0x83	/* Linux partition */
 #define	DOSPTYP_LINLVM	0x8e	/* Linux LVM partition */



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