summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-08-13 21:04:01 +0000
committerdim <dim@FreeBSD.org>2012-08-13 21:04:01 +0000
commit09a614af9c9c7f3f8f7c1cabbdfc5ffa704835d1 (patch)
treef8cfcefc551ffb16e84986549e02c03fdde61ec7
parent1c5f3b6a9fa142516befd3b82fff6e202e95b6bd (diff)
downloadFreeBSD-src-09a614af9c9c7f3f8f7c1cabbdfc5ffa704835d1.zip
FreeBSD-src-09a614af9c9c7f3f8f7c1cabbdfc5ffa704835d1.tar.gz
After r239066, reinitialize v86.ctl and v86.addr for int 13 EDD probing
in sys/boot/i386/libi386/biosdisk.c. Otherwise, when DISK_DEBUG is enabled, the DEBUG() macros will clobber those fields, and cause the probing to always fail mysteriously when debugging is enabled.
-rw-r--r--sys/boot/i386/libi386/biosdisk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/boot/i386/libi386/biosdisk.c b/sys/boot/i386/libi386/biosdisk.c
index 1d60f10..53e7e6a 100644
--- a/sys/boot/i386/libi386/biosdisk.c
+++ b/sys/boot/i386/libi386/biosdisk.c
@@ -215,6 +215,8 @@ bd_int13probe(struct bdinfo *bd)
bd->bd_hds, bd->bd_sec);
/* Determine if we can use EDD with this device. */
+ v86.ctl = V86_FLAGS;
+ v86.addr = 0x13;
v86.eax = 0x4100;
v86.edx = bd->bd_unit;
v86.ebx = 0x55aa;
OpenPOWER on IntegriCloud