18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: MIT */
28c2ecf20Sopenharmony_ci/* Copyright (C) 2006-2016 Oracle Corporation */
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifndef __VBOXVIDEO_VBE_H__
58c2ecf20Sopenharmony_ci#define __VBOXVIDEO_VBE_H__
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/* GUEST <-> HOST Communication API */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#define VBE_DISPI_BANK_ADDRESS          0xA0000
108c2ecf20Sopenharmony_ci#define VBE_DISPI_BANK_SIZE_KB          64
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define VBE_DISPI_MAX_XRES              16384
138c2ecf20Sopenharmony_ci#define VBE_DISPI_MAX_YRES              16384
148c2ecf20Sopenharmony_ci#define VBE_DISPI_MAX_BPP               32
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#define VBE_DISPI_IOPORT_INDEX          0x01CE
178c2ecf20Sopenharmony_ci#define VBE_DISPI_IOPORT_DATA           0x01CF
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#define VBE_DISPI_IOPORT_DAC_WRITE_INDEX  0x03C8
208c2ecf20Sopenharmony_ci#define VBE_DISPI_IOPORT_DAC_DATA         0x03C9
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_ID              0x0
238c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_XRES            0x1
248c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_YRES            0x2
258c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_BPP             0x3
268c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_ENABLE          0x4
278c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_BANK            0x5
288c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_VIRT_WIDTH      0x6
298c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_VIRT_HEIGHT     0x7
308c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_X_OFFSET        0x8
318c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_Y_OFFSET        0x9
328c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_VBOX_VIDEO      0xa
338c2ecf20Sopenharmony_ci#define VBE_DISPI_INDEX_FB_BASE_HI      0xb
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci#define VBE_DISPI_ID0                   0xB0C0
368c2ecf20Sopenharmony_ci#define VBE_DISPI_ID1                   0xB0C1
378c2ecf20Sopenharmony_ci#define VBE_DISPI_ID2                   0xB0C2
388c2ecf20Sopenharmony_ci#define VBE_DISPI_ID3                   0xB0C3
398c2ecf20Sopenharmony_ci#define VBE_DISPI_ID4                   0xB0C4
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci#define VBE_DISPI_ID_VBOX_VIDEO         0xBE00
428c2ecf20Sopenharmony_ci/* The VBOX interface id. Indicates support for VBVA shared memory interface. */
438c2ecf20Sopenharmony_ci#define VBE_DISPI_ID_HGSMI              0xBE01
448c2ecf20Sopenharmony_ci#define VBE_DISPI_ID_ANYX               0xBE02
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci#define VBE_DISPI_DISABLED              0x00
478c2ecf20Sopenharmony_ci#define VBE_DISPI_ENABLED               0x01
488c2ecf20Sopenharmony_ci#define VBE_DISPI_GETCAPS               0x02
498c2ecf20Sopenharmony_ci#define VBE_DISPI_8BIT_DAC              0x20
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci#define VGA_PORT_HGSMI_HOST             0x3b0
528c2ecf20Sopenharmony_ci#define VGA_PORT_HGSMI_GUEST            0x3d0
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci#endif
55