summaryrefslogtreecommitdiffstats
path: root/sys/boot/common
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2013-02-10 19:27:17 +0000
committerae <ae@FreeBSD.org>2013-02-10 19:27:17 +0000
commita16dc1156cd46eec12f4e240a64b4d85c0c43b3c (patch)
tree4ac339398760d77a02cb001c203438afd2de605e /sys/boot/common
parent8c2d2a90402ae26f92b5a1d928f307c9d7f75ac8 (diff)
downloadFreeBSD-src-a16dc1156cd46eec12f4e240a64b4d85c0c43b3c.zip
FreeBSD-src-a16dc1156cd46eec12f4e240a64b4d85c0c43b3c.tar.gz
Add bootcamp support to the loader.
Tested by: dchagin MFC after: 1 week
Diffstat (limited to 'sys/boot/common')
-rw-r--r--sys/boot/common/part.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/boot/common/part.c b/sys/boot/common/part.c
index 31ea82a..2b3a16f 100644
--- a/sys/boot/common/part.c
+++ b/sys/boot/common/part.c
@@ -645,9 +645,13 @@ ptable_open(void *dev, off_t sectors, uint16_t sectorsize,
/* 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) {
OpenPOWER on IntegriCloud