X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/33e49b2e6d599bc56326841b5b373b9f76adc5f7..337f8b17f46bb892c7106b3ea4e05369b0751975:/netwatch/main.c diff --git a/netwatch/main.c b/netwatch/main.c index db49f60..14c8ab4 100644 --- a/netwatch/main.c +++ b/netwatch/main.c @@ -1,3 +1,13 @@ +/* main.c + * Main post-paging entry point. Actually, this is a lie. + * NetWatch system management mode administration console + * + * Copyright (c) 2008 Jacob Potter and Joshua Wise. All rights reserved. + * This program is free software; you can redistribute and/or modify it under + * the terms found in the file LICENSE in the root of this source tree. + * + */ + #include #include #include @@ -38,7 +48,13 @@ void _try_inject() outb(0x60, kbd_get_injected_scancode()); /* data */ while ((inb(0x64) & 0x02) && i--) /* wait for completion */ ; - outl(0x844, 0x1000); + /* On some chipsets, this might set the "device active" bit + * for the keyboard controller. On ICH2, we appear to get + * lucky, but we need a mechanism of saying "I just touched + * the keyboard, please don't send me another SMI because of + * this"... XXX + * ICH2: outl(0x844, 0x1000); + */ adding_locks_from_time_to_time++; smi_enable_event(SMI_EVENT_DEVTRAP_KBC); } else if (kbd_has_injected_scancode())