comboot: allow the read disk API call to specify a 64-bit LBA
authorH. Peter Anvin <hpa@linux.intel.com>
Mon, 21 Jun 2010 22:12:48 +0000 (15:12 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Mon, 21 Jun 2010 22:16:33 +0000 (15:16 -0700)
We already had two MBZ fields reserved, so use one of them to expand
into a 64-bit LBA.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
core/comboot.inc
doc/comboot.txt

index 0c9956a..91cc15a 100644 (file)
@@ -837,10 +837,10 @@ comapi_userfont:
 ;
 %if IS_SYSLINUX || IS_ISOLINUX || IS_EXTLINUX
 comapi_readdisk:
-               mov esi,P_ESI           ; Enforce ESI == EDI == 0, these
-               or esi,P_EDI            ; are reserved for future expansion
+               cmp P_EDI,0             ; Reserved for future expansion
                jnz .err
                mov eax,P_EDX
+               mov edx,P_ESI
                mov es,P_ES
                mov bx,P_BX
                mov bp,P_CX             ; WE CANNOT use P_* after touching bp!
index 036bd78..9e9f99a 100644 (file)
@@ -832,8 +832,8 @@ AX=0018h [3.30]     Query custom font
 
 AX=0019h [3.50] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
        Input:  AX      0019h
-               EDX     Sector number
-               ESI     Reserved - MUST BE ZERO
+               EDX     Sector number (LSW)
+               ESI     Sector number (MSW) [4.00]
                EDI     Reserved - MUST BE ZERO
                CX      Sector count
                ES:BX   Buffer address