ok, with the shared commands it place here's some 
feature-completeness comparison of the kernel driver and the 
emulator:

                                guest driver i8042.h   |   hw/i8042.c emu
/*
 * Status register bits
 */
#define I8042_STR_PARITY        0x80                   |  missing
#define I8042_STR_TIMEOUT       0x40                   |  missing
#define I8042_STR_AUXDATA       0x20                   |  ok
#define I8042_STR_KEYLOCK       0x10                   |  ok
#define I8042_STR_CMDDAT        0x08                   |  ok
#define I8042_STR_MUXERR        0x04                   |  ok
#define I8042_STR_IBF           0x02                   |  missing
#define I8042_STR_OBF           0x01                   |  ok

The missing bits might be uninteresting, but wanted to map them out.

There's more divergence for commands:

                                guest driver i8042.h   |   hw/i8042.c emu

/*
 * Standard commands.
 */

#define I8042_CMD_CTL_RCTR      0x0120                 != 0x20
#define I8042_CMD_CTL_WCTR      0x1060                 != 0x60
#define I8042_CMD_CTL_TEST      0x01aa                 | missing

#define I8042_CMD_KBD_DISABLE   0x00ad                 | missing
#define I8042_CMD_KBD_ENABLE    0x00ae                 | missing
#define I8042_CMD_KBD_TEST      0x01ab                 | missing
#define I8042_CMD_KBD_LOOP      0x11d2                 | missing

#define I8042_CMD_AUX_DISABLE   0x00a7                 | ok
#define I8042_CMD_AUX_ENABLE    0x00a8                 | ok
#define I8042_CMD_AUX_TEST      0x01a9                 | != 0xa9
#define I8042_CMD_AUX_SEND      0x10d4                 | != 0xd4
#define I8042_CMD_AUX_LOOP      0x11d3                 | != 0xd3

#define I8042_CMD_MUX_PFX       0x0090                 | missing
#define I8042_CMD_MUX_SEND      0x1090                 | missing


Now the missing high word might just be some command symbol encoding 
difference, but it might be something more substantial as well.

Thanks,

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to