pxelinux: give our own IP address in the "derivate info" API call
authorH. Peter Anvin <hpa@zytor.com>
Sun, 7 Feb 2010 00:28:05 +0000 (16:28 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 7 Feb 2010 00:28:48 +0000 (16:28 -0800)
Add our own IP address to the "get derivative-specific info" API call.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
com32/include/syslinux/config.h
core/comboot.inc
doc/comboot.txt

index 168a516..868b0f1 100644 (file)
@@ -110,7 +110,7 @@ union syslinux_derivative_info {
        uint32_t _edi, _esi, _ebp, _esp, _ebx;
        uint16_t apiver;
        uint16_t _dxh;
-       uint32_t _ecx;
+       uint32_t myip;
        uint8_t filesystem, ah;
        uint16_t _axh;
        uint32_t _eflags;
index cdba16d..82b158f 100644 (file)
@@ -577,6 +577,8 @@ comapi_derinfo:
                mov P_SI,ax
                mov ax,[InitStack+2]
                mov P_FS,ax
+               mov eax,[MyIP]
+               mov P_ECX,eax
 %else
                ; Physical medium...
 
index b3d8e64..4ef10f4 100644 (file)
@@ -401,6 +401,7 @@ AX=000Ah [2.00]     Get Derivative-Specific Information
        Input:  AX      000Ah
        Output: AL      32h (PXELINUX)
                DX      PXE API version detected (DH=major, DL=minor)
+               ECX     Local IP number (network byte order) [3.85]
                ES:BX   pointer to PXENV+ or !PXE structure
                FS:SI   pointer to original stack with invocation record