David, Jeff, would you mind trying the patch below on your systems
which exhibit the long delays in the EDD real-mode code?
This does a few things:
1) it uses an int13 fn15 "Get Disk Type" command prior to doing the
fn02 "Read Sectors" command, to try to determine if there is a disk
present or not before reading its signature.
2) A few registers are more fully zeroed out, in case the BIOS cared
about things it shouldn't have.
Crossing my fingers that the delays are gone...
+# Do int13 fn15 first, as BIOS should know if a disk is present or not.-
+# This avoids long (>30s) delays waiting for the READ_SECTORS to a non-pre=
sent disk.
+ xor %eax, %eax