Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/i386/stand/lib efiboot: fix to find boot partition ...
details: https://anonhg.NetBSD.org/src/rev/3c45edca443e
branches: trunk
changeset: 321525:3c45edca443e
user: nonaka <nonaka%NetBSD.org@localhost>
date: Tue Mar 20 10:21:01 2018 +0000
description:
efiboot: fix to find boot partition process.
NetBSD related partitions with no bootme flag set are also candidates
for boot partition.
diffstat:
sys/arch/i386/stand/lib/biosdisk.c | 28 +++++++++++++++-------------
1 files changed, 15 insertions(+), 13 deletions(-)
diffs (51 lines):
diff -r 3b003e6e694c -r 3c45edca443e sys/arch/i386/stand/lib/biosdisk.c
--- a/sys/arch/i386/stand/lib/biosdisk.c Tue Mar 20 10:19:33 2018 +0000
+++ b/sys/arch/i386/stand/lib/biosdisk.c Tue Mar 20 10:21:01 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: biosdisk.c,v 1.47 2018/03/08 10:34:33 nonaka Exp $ */
+/* $NetBSD: biosdisk.c,v 1.48 2018/03/20 10:21:01 nonaka Exp $ */
/*
* Copyright (c) 1996, 1998
@@ -802,20 +802,21 @@
if (d->part[partition].fstype == FS_UNUSED)
continue;
#ifdef EFIBOOT
- if (d->part[partition].attr & GPT_ENT_ATTR_BOOTME) {
- switch (d->part[partition].fstype) {
- case FS_BSDFFS:
- case FS_BSDLFS:
- case FS_RAID:
- case FS_CCD:
- case FS_CGD:
- case FS_ISO9660:
- break;
+ switch (d->part[partition].fstype) {
+ case FS_BSDFFS:
+ case FS_BSDLFS:
+ case FS_RAID:
+ case FS_CCD:
+ case FS_CGD:
+ case FS_ISO9660:
+ if (d->part[partition].attr & GPT_ENT_ATTR_BOOTME)
+ goto found;
+ candidate = partition;
+ break;
- default:
+ default:
+ if (d->part[partition].attr & GPT_ENT_ATTR_BOOTME)
candidate = partition;
- continue;
- }
break;
}
#else
@@ -824,6 +825,7 @@
#endif
}
#ifdef EFIBOOT
+found:
if (partition == 0 && candidate != 0)
partition = candidate;
#endif
Home |
Main Index |
Thread Index |
Old Index