summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/dkcsum.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/arch/i386/i386/dkcsum.c b/sys/arch/i386/i386/dkcsum.c
index 61d39e8cf92..a381235654c 100644
--- a/sys/arch/i386/i386/dkcsum.c
+++ b/sys/arch/i386/i386/dkcsum.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dkcsum.c,v 1.26 2008/12/10 23:41:19 krw Exp $ */
+/* $OpenBSD: dkcsum.c,v 1.27 2010/12/07 00:44:48 dlg Exp $ */
/*-
* Copyright (c) 1997 Niklas Hallqvist. All rights reserved.
@@ -71,10 +71,13 @@ dkcsumattach(void)
#ifdef DEBUG
printf("dkcsum: bootdev=%#x\n", bootdev);
- for (bdi = bios_diskinfo; bdi->bios_number != -1; bdi++)
- if (bdi->bios_number & 0x80)
- printf("dkcsum: BIOS drive %#x checksum is %#x\n",
- bdi->bios_number, bdi->checksum);
+ for (bdi = bios_diskinfo; bdi->bios_number != -1; bdi++) {
+ if (bdi->bios_number & 0x80) {
+ printf("dkcsum: BIOS drive %#x bsd_dev=%#x "
+ "checksum=%#x\n", bdi->bios_number, bdi->bsd_dev,
+ bdi->checksum);
+ }
+ }
#endif
pribootdev = altbootdev = 0;
@@ -180,7 +183,9 @@ dkcsumattach(void)
*/
/* B_TYPE dependent hd unit counting bootblocks */
- if ((B_TYPE(bootdev) == B_TYPE(hit->bsd_dev)) &&
+ if ((B_ADAPTOR(bootdev) == B_ADAPTOR(hit->bsd_dev)) &&
+ (B_CONTROLLER(bootdev) == B_CONTROLLER(hit->bsd_dev)) &&
+ (B_TYPE(bootdev) == B_TYPE(hit->bsd_dev)) &&
(B_UNIT(bootdev) == B_UNIT(hit->bsd_dev))) {
int type, ctrl, adap, part, unit;