aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/pc98
diff options
context:
space:
mode:
authorKATO Takenori <kato@FreeBSD.org>2000-08-31 10:24:06 +0000
committerKATO Takenori <kato@FreeBSD.org>2000-08-31 10:24:06 +0000
commit8b6a5e91bb42e8313af090fb2273626cda2730bd (patch)
treeb5b6bb5a27d0206cebd30bf2065c685dfc54f703 /sys/boot/pc98
parent8507c35e6708c52d78834db42f3854b90d718f9d (diff)
Notes
Diffstat (limited to 'sys/boot/pc98')
-rw-r--r--sys/boot/pc98/boot0.5/disk.s18
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/boot/pc98/boot0.5/disk.s b/sys/boot/pc98/boot0.5/disk.s
index 93667444f389..9d0db21d925a 100644
--- a/sys/boot/pc98/boot0.5/disk.s
+++ b/sys/boot/pc98/boot0.5/disk.s
@@ -178,8 +178,22 @@ sasi_loop:
testb %al, %dl
jz no_sasi_unit
movb $0x80, %dh
- addb %ah, %dh
- movb %dh, daua(%si)
+ addb %ah, %dh # %dh = DA/UA
+ movb %dh, daua(%si) # Store DA/UA
+
+ # Try new sense command
+ push %ax
+ push %cx
+ movb %dh, %al
+ movb $0x84, %ah
+ int $0x1b
+ pop %cx
+ pop %ax
+ jc err_newsense
+ movw %bx, %dx
+ jmp found_sasi_unit
+
+err_newsense:
movw $0x457, %bx # capacity & sector size of IDE HDD
call read_biosparam
orb %ah, %ah