[syslinux] [syslinux:pathbased] comboot: fix comapi_open

Geert Stappers stappers at stappers.nl
Fri May 14 12:02:26 PDT 2010


Op 20100514 om 20:07 schreef Sebastian Herbszt:
> Geert Stappers wrote:
>> expecting something like
>>>  ; INT 22h AX=0006h Open file
>>>  ;
>>>  comapi_open:
>>> + mov es,P_ES
>>> + mov si,P_SI
>>* + mov cx,P_CX
>>* + mov eax,P_EAX
>>>  pm_call pm_open_file
>>> + mov P_EAX,eax
>>> + mov P_CX,cx
>>> + mov P_SI,si
>>* + mov P_ES,es
>>>  ret
>>>   ;
>
>> From doc/comboot.txt
>
> AX=0006h [2.08] Open file
>
>        Input:  AX      0006h
>                ES:SI   null-terminated filename
>        Output: SI      file handle
>                EAX     length of file in bytes, or -1
>                CX      file block size
>
> My patch only cares about the output registers (EAX, CX and SI) and only ES and SI
> are used inside pm_open_file(). So there is no need to pass (correct) EAX and CX
> register values to pm_open_file() nor restore ES; P_ES should still contain the correct
> input value on exit.

Thanks for the clarification.


Stappers




More information about the Syslinux mailing list