X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/3c4e084de9ed00171748c20de1251d347fc33c1c..HEAD:/netwatch/main.c diff --git a/netwatch/main.c b/netwatch/main.c index 3bfc599..14c8ab4 100644 --- a/netwatch/main.c +++ b/netwatch/main.c @@ -1,5 +1,5 @@ /* main.c - * Main post-paging entry point. + * 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. @@ -48,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())