From c8ec00f537a640db049a1afb44a31c2199859085 Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Thu, 15 Jan 2015 10:59:46 +0100 Subject: vmmouse: Add support for the access restrict command The access restrict command, if implemented, restricts vmmouse port access to the indicated level. Signed-off-by: Thomas Hellstrom Reviewed-by: Michael Banack --- shared/vmmouse_client.c | 7 +++++++ shared/vmmouse_defs.h | 7 +++++++ shared/vmmouse_proto.h | 1 + 3 files changed, 15 insertions(+) (limited to 'shared') diff --git a/shared/vmmouse_client.c b/shared/vmmouse_client.c index b8e19d6..c5d529e 100644 --- a/shared/vmmouse_client.c +++ b/shared/vmmouse_client.c @@ -191,6 +191,13 @@ VMMouseClient_Enable(void) { return FALSE; } + /* + * Restrict access to the VMMouse backdoor handler. + */ + vmpc.in.vEbx = VMMOUSE_RESTRICT_IOPL; + vmpc.in.command = VMMOUSE_PROTO_CMD_ABSPOINTER_RESTRICT; + VMMouseProto_SendCmd(&vmpc); + /* * To quote Jeremy, "Go Go Go!" */ diff --git a/shared/vmmouse_defs.h b/shared/vmmouse_defs.h index d256faf..780d72d 100644 --- a/shared/vmmouse_defs.h +++ b/shared/vmmouse_defs.h @@ -69,4 +69,11 @@ #define VMMOUSE_RIGHT_BUTTON 0x10 #define VMMOUSE_MIDDLE_BUTTON 0x08 +/* + * VMMouse Restrict command + */ +#define VMMOUSE_RESTRICT_ANY 0x00 +#define VMMOUSE_RESTRICT_CPL0 0x01 +#define VMMOUSE_RESTRICT_IOPL 0x02 + #endif diff --git a/shared/vmmouse_proto.h b/shared/vmmouse_proto.h index 714f8c5..6d144ae 100644 --- a/shared/vmmouse_proto.h +++ b/shared/vmmouse_proto.h @@ -64,6 +64,7 @@ #define VMMOUSE_PROTO_CMD_ABSPOINTER_DATA 39 #define VMMOUSE_PROTO_CMD_ABSPOINTER_STATUS 40 #define VMMOUSE_PROTO_CMD_ABSPOINTER_COMMAND 41 +#define VMMOUSE_PROTO_CMD_ABSPOINTER_RESTRICT 86 #define DECLARE_REG32_STRUCT(_r) \ union { \ -- cgit v1.2.3