summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2009-06-26 09:32:31 +0000
committerrpaulo <rpaulo@FreeBSD.org>2009-06-26 09:32:31 +0000
commit9378d21df9f3802549dfe73ceb9fb8bc3c435ad5 (patch)
tree50de61194a71407c73b4d3de28dd46a2b22e6bc2 /sys/boot
parentdf53d25725625fbb5a8eecad422c95e9e22eac14 (diff)
downloadFreeBSD-src-9378d21df9f3802549dfe73ceb9fb8bc3c435ad5.zip
FreeBSD-src-9378d21df9f3802549dfe73ceb9fb8bc3c435ad5.tar.gz
On special systems where the MBR and the GPT are in sync (up to the 4th
slicei, Apple EFI hardware), the bootloader will fail to recognize the GPT if it finds anything else but the EFI partition. Change the check to continue detecting the GPT by looking at the EFI partition on the MBR but stopping successfuly after finding it. PR: kern/134590 Submitted by: Christoph Langguth <christoph at rosenkeller.org> Reviewed by: jhb MFC after: 2 weeks Approved by: re (kib)
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/i386/libi386/biosdisk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/boot/i386/libi386/biosdisk.c b/sys/boot/i386/libi386/biosdisk.c
index b49d4e6e..7e1fa193 100644
--- a/sys/boot/i386/libi386/biosdisk.c
+++ b/sys/boot/i386/libi386/biosdisk.c
@@ -880,7 +880,7 @@ bd_open_gpt(struct open_disk *od, struct i386_devdesc *dev)
for (i = 0; i < NDOSPART; i++) {
if (dp[i].dp_typ == 0xee)
part++;
- else if (dp[i].dp_typ != 0x00)
+ else if ((part != 1) && (dp[i].dp_typ != 0x00))
return (EINVAL);
}
if (part != 1)
OpenPOWER on IntegriCloud