ia64/xen-unstable

changeset 15795:c868eab6c99b

hvm: Add rombios decoding of F11/F12 scancodes in support for
Microsoft's Remote Installation Services, which require F11/F12 keys

Signed-off-by: Ben Guthro <bguthro@virtualron.com>
Signed-off-by: Steve Ofsthun <sofsthun@virtualiron.com>
author kfraser@localhost.localdomain
date Wed Aug 29 15:02:41 2007 +0100 (2007-08-29)
parents adad9f3820f1
children 2eb38cefdcd9
files tools/firmware/rombios/rombios.c
line diff
     1.1 --- a/tools/firmware/rombios/rombios.c	Wed Aug 29 15:01:57 2007 +0100
     1.2 +++ b/tools/firmware/rombios/rombios.c	Wed Aug 29 15:02:41 2007 +0100
     1.3 @@ -1057,7 +1057,7 @@ static char CVSID[] = "$Id: rombios.c,v 
     1.4  #define UNSUPPORTED_FUNCTION 0x86
     1.5  
     1.6  #define none 0
     1.7 -#define MAX_SCAN_CODE 0x53
     1.8 +#define MAX_SCAN_CODE 0x58
     1.9  
    1.10  static struct {
    1.11    Bit16u normal;
    1.12 @@ -1149,7 +1149,12 @@ static struct {
    1.13        { 0x5000, 0x5032,   none,   none, 0x20 }, /* 2 Down */
    1.14        { 0x5100, 0x5133, 0x7600,   none, 0x20 }, /* 3 PgDn */
    1.15        { 0x5200, 0x5230,   none,   none, 0x20 }, /* 0 Ins */
    1.16 -      { 0x5300, 0x532e,   none,   none, 0x20 }  /* Del */
    1.17 +      { 0x5300, 0x532e,   none,   none, 0x20 }, /* Del */
    1.18 +      {   none,   none,   none,   none, none }, /* ??? */
    1.19 +      {   none,   none,   none,   none, none }, /* ??? */
    1.20 +      {   none,   none,   none,   none, none }, /* ??? */
    1.21 +      { 0x8500, 0x8700, 0x8900, 0x8b00, none }, /* F11 */
    1.22 +      { 0x8600, 0x8800, 0x8a00, 0x8c00, none }, /* F12 */
    1.23        };
    1.24  
    1.25    Bit8u
    1.26 @@ -4682,7 +4687,7 @@ int09_function(DI, SI, BP, SP, BX, DX, C
    1.27      default:
    1.28        if (scancode & 0x80) return; /* toss key releases ... */
    1.29        if (scancode > MAX_SCAN_CODE) {
    1.30 -        BX_INFO("KBD: int09h_handler(): unknown scancode read!\n");
    1.31 +        BX_INFO("KBD: int09h_handler(): unknown scancode (%x) read!\n", scancode);
    1.32          return;
    1.33          }
    1.34        if (shift_flags & 0x08) { /* ALT */