1*677dec6eSriastradh /*	$NetBSD: hgsmi_channels.h,v 1.2 2021/12/18 23:45:44 riastradh Exp $	*/
21571a7a1Sriastradh 
31571a7a1Sriastradh /* SPDX-License-Identifier: MIT */
41571a7a1Sriastradh /* Copyright (C) 2006-2017 Oracle Corporation */
51571a7a1Sriastradh 
61571a7a1Sriastradh #ifndef __HGSMI_CHANNELS_H__
71571a7a1Sriastradh #define __HGSMI_CHANNELS_H__
81571a7a1Sriastradh 
91571a7a1Sriastradh /*
101571a7a1Sriastradh  * Each channel has an 8 bit identifier. There are a number of predefined
111571a7a1Sriastradh  * (hardcoded) channels.
121571a7a1Sriastradh  *
131571a7a1Sriastradh  * HGSMI_CH_HGSMI channel can be used to map a string channel identifier
141571a7a1Sriastradh  * to a free 16 bit numerical value. values are allocated in range
151571a7a1Sriastradh  * [HGSMI_CH_STRING_FIRST;HGSMI_CH_STRING_LAST].
161571a7a1Sriastradh  */
171571a7a1Sriastradh 
181571a7a1Sriastradh /* A reserved channel value */
191571a7a1Sriastradh #define HGSMI_CH_RESERVED				0x00
201571a7a1Sriastradh /* HGCMI: setup and configuration */
211571a7a1Sriastradh #define HGSMI_CH_HGSMI					0x01
221571a7a1Sriastradh /* Graphics: VBVA */
231571a7a1Sriastradh #define HGSMI_CH_VBVA					0x02
241571a7a1Sriastradh /* Graphics: Seamless with a single guest region */
251571a7a1Sriastradh #define HGSMI_CH_SEAMLESS				0x03
261571a7a1Sriastradh /* Graphics: Seamless with separate host windows */
271571a7a1Sriastradh #define HGSMI_CH_SEAMLESS2				0x04
281571a7a1Sriastradh /* Graphics: OpenGL HW acceleration */
291571a7a1Sriastradh #define HGSMI_CH_OPENGL					0x05
301571a7a1Sriastradh 
311571a7a1Sriastradh /* The first channel index to be used for string mappings (inclusive) */
321571a7a1Sriastradh #define HGSMI_CH_STRING_FIRST				0x20
331571a7a1Sriastradh /* The last channel index for string mappings (inclusive) */
341571a7a1Sriastradh #define HGSMI_CH_STRING_LAST				0xff
351571a7a1Sriastradh 
361571a7a1Sriastradh #endif
37