diff options
author | hpa <hpa> | 2005-08-17 05:11:10 +0000 |
---|---|---|
committer | hpa <hpa> | 2005-08-17 05:11:10 +0000 |
commit | 10301a9ee604a4cab5fd245beb408c83ff30049f (patch) | |
tree | 90646447913c6b6b952e63d0c586c973cb0225f7 /comboot.inc | |
parent | 1c92530cd089a50d5d71b813d79506b2d4f8ae48 (diff) | |
download | syslinux-10301a9ee604a4cab5fd245beb408c83ff30049f.tar.gz |
Add localboot API call
Diffstat (limited to 'comboot.inc')
-rw-r--r-- | comboot.inc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/comboot.inc b/comboot.inc index dfe57b64..a0651928 100644 --- a/comboot.inc +++ b/comboot.inc @@ -652,6 +652,28 @@ comapi_idle: clc ret +; +; INT 22h AX=0014h Local boot +; +%if IS_PXELINUX || IS_ISOLINUX +comapi_localboot: + mov ax,P_DX + jmp local_boot +%else +comapi_localboot equ comapi_err +%endif + +; +; INT 22h AX=0015h Feature flags +; +comapi_features: + mov P_ES,cs + mov P_BX,feature_flags + mov P_CX,feature_flags_len + clc + ret + + section .data int21_table: int21 00h, comboot_return int21 01h, comboot_getkey @@ -687,7 +709,21 @@ int22_table: dw comapi_maxshuffle ; 0011 maximum shuffle descriptors dw comapi_shuffle ; 0012 cleanup, shuffle and boot dw comapi_idle ; 0013 idle call + dw comapi_localboot ; 0014 local boot + dw comapi_features ; 0015 feature flags int22_count equ ($-int22_table)/2 APIKeyWait db 0 APIKeyFlag db 0 + +; +; This is the feature flag array for INT 22h AX=0015h +feature_flags: +%if IS_PXELINUX + db 1 ; Have local boot, idle not noop +%elif IS_ISOLINUX + db 3 ; Have local boot, idle is noop +%else + db 2 ; No local boot, idle is noop +%endif +feature_flags_len equ ($-feature_flags) |