svn commit: r246938 - in stable/9/sys: boot/common sys

Andrey V. Elsukov ae at FreeBSD.org
Mon Feb 18 08:24:40 UTC 2013


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 */


More information about the svn-src-stable-9 mailing list