diff options
-rw-r--r-- | shared/vmmouse_client.c | 7 | ||||
-rw-r--r-- | shared/vmmouse_defs.h | 7 | ||||
-rw-r--r-- | shared/vmmouse_proto.h | 1 |
3 files changed, 15 insertions, 0 deletions
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 @@ -192,6 +192,13 @@ VMMouseClient_Enable(void) { } /* + * 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 { \ |