https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=176748

John Baldwin <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from John Baldwin <[email protected]> ---
Created attachment 144581
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=144581&action=edit
ignore_zero_size.patch

This patch is not correct.  The '48h' function is always required if EDD is
present and is part of the 'Fixed Disk Access' subset as defined in EDD 3.0.

The part of the parameter block conditional on the 'EDD' subset returned by
'48h' is the DPTE pointer (edd_params_seg and edd_params_off in 'struct
edd_params').  The boot code does not use that.  In addition, while there is a
flag in the 'flags' field (bit 2) that determines if the geometry returned in
'struct edd_params' is correct, that flag only covers the 'cylinders', 'heads',
and 'sectors_per_track'.  The BIOS is always required to populate 'sectors' and
'sector_size' with valid values.

Instead, it seems your BIOS is just broken, but that can be worked around by
ignoring sector counts of 0.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to