diff options
author | ae <ae@FreeBSD.org> | 2013-02-10 19:27:17 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2013-02-10 19:27:17 +0000 |
commit | a16dc1156cd46eec12f4e240a64b4d85c0c43b3c (patch) | |
tree | 4ac339398760d77a02cb001c203438afd2de605e /sys/boot | |
parent | 8c2d2a90402ae26f92b5a1d928f307c9d7f75ac8 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/boot/common/part.c | 10 |
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) { |