grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Sendkey patch


From: Vesa Jääskeläinen
Subject: Re: Sendkey patch
Date: Wed, 03 Sep 2008 20:07:06 +0300
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

Hi,

How about following (may not be syntaxically correct):

In kernel:

/* Variable holding pointer to preboot hook function.  */
preboot_hook:
        .long   0

...
        /* Check if there is preboot hook installed.  */
        movl    preboot_hook, %eax
        testl   %eax, %eax
        jne     1f
        call    %eax
1:
        /* Continue boot.  */


Then in module code:

void grub_preboot_hook_handler(void)
{
        /* Process list of registered preboot hooks.  */
}

void grub_preboot_register_hook(...);
void grub_preboot_unregister_hook(...);

GRUB_MOD_INIT(preboot)
{
        preboot_hook = grub_preboot_hook_handler;
}

GRUB_MOD_FINI(preboot)
{
        preboot_hook = 0;
}

If preboot.mod gets loaded then it goes and registers preboot handler to
kernel to do its tricks. Other modules then would use preboot.mod to
register their own handlers.

This would have minimal impact for kernel.

Thanks,
Vesa Jääskeläinen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]