[SeaBIOS] [PATCH] EDD fixes

Sebastian Herbszt herbszt at gmx.de
Sat Jul 31 22:37:36 CEST 2010


Kevin O'Connor wrote:
> On Sat, Jul 31, 2010 at 09:02:24PM +0200, Sebastian Herbszt wrote:
>> Kevin O'Connor wrote:
>> >On Sat, Jul 31, 2010 at 05:26:09PM +0200, Sebastian Herbszt wrote:
>> >>Fix data returned in the int13dpt structure.
>> >[...]
>> >>-    if (size < 66) {
>> >>+    if (size < 74) {
>> >>        disk_ret(regs, DISK_RET_SUCCESS);
>> >>        return;
>> >>    }
>> >
>> >This is not correct - the EDD v3.0 spec has a 66 byte structure.
>> 
>> You mean the Phoenix spec (BIOS Enhanced Disk Drive Specification,
>> Version 3.0, Rev 0.8, March 12, 1998).
>> 
>> What about the T13 Working Draft, D1572, Information Technology - BIOS
>> Enhanced Disk Drive Services - 3 (EDD-3), Revision 3, November 5, 2004?
> 
> Heh.  It looks like the standards are confusingly named.  The T13
> EDD-1 spec is actually newer than the Phoenix EDD 3 spec.  At least by
> looking at the specs at: http://www.t10.org/t13/#Project_drafts
> 
> So, I guess you are right and the bios should support 74 byte callers.
> However, I also think it should still support 66 byte callers as there
> may be something out there coded to the Phoenix spec.
> 
> -Kevin

We have the following specs:

Phoenix
BIOS Enhanced Disk Drive Specification
Version 1.1
May 9, 1995
(30 bytes structure)

T13 Working Draft - 1226DT
Information Technology - Enhanced BIOS Services For Disk Drives
Revision 7
23 Oct, 1997
(30 bytes structure)

Phoenix
BIOS Enhanced Disk Drive Specification
Version 3.0
Rev 0.8
March 12, 1998
(66 bytes structure, padding not mentioned)

Interrupt List, part 2 of 18
Copyright (c) 1989-1999,2000 Ralf Brown
(66 bytes structure, ASCIZ strings)

T13 Working Draft - D1386
Information Technology - BIOS Enhanced Disk Drive Services (EDD)
Revision 5
September 28, 2000
(74 bytes structure, space padding)

T13 Working Draft - D1484
Information Technology - BIOS Enhanced Disk Drive Services - 2 (EDD-2)
Revision 3
February 21, 2002
(74 bytes structure, space padding)

T13 Working Draft - D1572
Information Technology - BIOS Enhanced Disk Drive Services - 3 (EDD-3)
Revision 3
November 5, 2004
(74 bytes structure, space padding)

The device path is either Qword or double Qword (66 vs. 74 bytes). The strings
are either ASCIZ or space padded. It should be possible to special case 66 bytes size
buffers and then use Qword device path and ASCIZ strings.

Sebastian




More information about the SeaBIOS mailing list