1 /* 2 * Copyright (c) 2007-2024 Broadcom. All Rights Reserved. 3 * The term “Broadcom” refers to Broadcom Inc. 4 * and/or its subsidiaries. 5 * SPDX-License-Identifier: GPL-2.0 OR MIT 6 */ 7 8 /* 9 * svga_escape.h -- 10 * 11 * Definitions for our own (vendor-specific) SVGA Escape commands. 12 */ 13 14 #ifndef _SVGA_ESCAPE_H_ 15 #define _SVGA_ESCAPE_H_ 16 17 18 /* 19 * Namespace IDs for the escape command 20 */ 21 22 #define SVGA_ESCAPE_NSID_VMWARE 0x00000000 23 #define SVGA_ESCAPE_NSID_DEVEL 0xFFFFFFFF 24 25 26 /* 27 * Within SVGA_ESCAPE_NSID_VMWARE, we multiplex commands according to 28 * the first DWORD of escape data (after the nsID and size). As a 29 * guideline we're using the high word and low word as a major and 30 * minor command number, respectively. 31 * 32 * Major command number allocation: 33 * 34 * 0000: Reserved 35 * 0001: SVGA_ESCAPE_VMWARE_LOG (svga_binary_logger.h) 36 * 0002: SVGA_ESCAPE_VMWARE_VIDEO (svga_overlay.h) 37 * 0003: SVGA_ESCAPE_VMWARE_HINT (svga_escape.h) 38 */ 39 40 #define SVGA_ESCAPE_VMWARE_MAJOR_MASK 0xFFFF0000 41 42 43 /* 44 * SVGA Hint commands. 45 * 46 * These escapes let the SVGA driver provide optional information to 47 * he host about the state of the guest or guest applications. The 48 * host can use these hints to make user interface or performance 49 * decisions. 50 * 51 * Notes: 52 * 53 * - SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN is deprecated for guests 54 * that use the SVGA Screen Object extension. Instead of sending 55 * this escape, use the SVGA_SCREEN_FULLSCREEN_HINT flag on your 56 * Screen Object. 57 */ 58 59 #define SVGA_ESCAPE_VMWARE_HINT 0x00030000 60 #define SVGA_ESCAPE_VMWARE_HINT_FULLSCREEN 0x00030001 /* Deprecated */ 61 62 typedef 63 struct { 64 uint32 command; 65 uint32 fullscreen; 66 struct { 67 int32 x, y; 68 } monitorPosition; 69 } SVGAEscapeHintFullscreen; 70 71 #endif /* _SVGA_ESCAPE_H_ */ 72