[syslinux] [PATCH] gfxboot.c32

Steffen Winterfeldt wfeldt at suse.de
Mon Nov 16 07:52:09 PST 2009


On Sat, 14 Nov 2009, Sebastian Herbszt wrote:

> H. Peter Anvin wrote:
>> On 10/29/2009 08:57 AM, Steffen Winterfeldt wrote:
>>> Ok, here is the first try to turn the gfxboot wrapper into a com32 module. 
>>> I
>>> had to extend the interface to the gfxboot core a bit to get it working. 
>>> So
>>> it works only with latest gfxboot from
>>> 
>>> git://gitorious.org/gfxboot/gfxboot.git
>>> 
>>> Steffen
>> 
>> Hi Steffen,
>> 
>> I'm looking at it, and I'm trying to understand the code flow (what
>> calls what).  In particular, I'm wondering where the cb_table gets 
>> involved.
>
> The gfxboot.c code flow is like this:
>
> main()
> gfx_init()
> * load_file()
> * find_file()
> * gfx_config.bootloader_seg = "lowmem"
> * gfx_config->callback = 4
> * GFX_CB_INIT
> gfx_menu_init()
> * GFX_CB_MENU_INIT
> gfx_input()

That calls the main gfxboot loop, it practically stays there the whole time.

When gfxboot needs something (file read, say) it sneaks back into syslinux
via code placed in the bounce buffer using cb_table (basically all code in
realmode_callback.asm is for that).


Steffen

-- 
Das Nichtrauchen entfernt uns von der Zivilisation und setzt den Mann mit
seinem Dackel gleich. -- J. C.




More information about the Syslinux mailing list