diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-01-24 15:13:11 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-01-24 15:13:11 -0800 |
commit | c656897fd2f4ca76e5d6e2a871a858588de0d312 (patch) | |
tree | abe137e0a15f38449b6e355563fd74233d210671 /comboot.inc | |
parent | d0c3ada6595e3d86f41c27b5a9b5ea6e399edfe9 (diff) | |
download | syslinux-c656897fd2f4ca76e5d6e2a871a858588de0d312.tar.gz |
New API call: read disk.
Diffstat (limited to 'comboot.inc')
-rw-r--r-- | comboot.inc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/comboot.inc b/comboot.inc index 5fda9687..fcaa3a7a 100644 --- a/comboot.inc +++ b/comboot.inc @@ -466,6 +466,7 @@ comapi_derinfo: mov P_DL,al mov P_ES,cs mov P_BX,PartInfo + mov P_CL,SECTOR_SHIFT %elif IS_PXELINUX mov ax,[APIVer] mov P_DX,ax @@ -482,6 +483,7 @@ comapi_derinfo: mov P_DL,al mov P_ES,cs mov P_BX,spec_packet + mov P_CL,SECTOR_SHIFT %endif clc ret @@ -769,7 +771,27 @@ comapi_userfont: mov P_AL,al ret - +; +; INT 22h AX=0019h Read disk +; +%if IS_SYSLINUX || IS_MDSLINUX || IS_ISOLINUX || IS_EXTLINUX +comapi_readdisk: + mov esi,P_ESI ; Enforce ESI == EDI == 0, these + or esi,P_EDI ; are reserved for future expansion + jnz .err + mov eax,P_EDX + mov bp,P_CX + mov es,P_ES + mov bx,P_BX + call getlinsec + clc + ret +.err: + stc + ret +%else +comapi_readdisk equ comapi_err +%endif section .data @@ -818,6 +840,7 @@ int22_table: dw comapi_runkernel ; 0016 run kernel image dw comapi_usingvga ; 0017 report video mode change dw comapi_userfont ; 0018 query custom font + dw comapi_readdisk ; 0019 read disk int22_count equ ($-int22_table)/2 APIKeyWait db 0 |