xref: /aosp_15_r20/external/kernel-headers/original/uapi/video/uvesafb.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef _UAPI_UVESAFB_H
3*f80ad8b4SAndroid Build Coastguard Worker #define _UAPI_UVESAFB_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/types.h>
6*f80ad8b4SAndroid Build Coastguard Worker 
7*f80ad8b4SAndroid Build Coastguard Worker struct v86_regs {
8*f80ad8b4SAndroid Build Coastguard Worker 	__u32 ebx;
9*f80ad8b4SAndroid Build Coastguard Worker 	__u32 ecx;
10*f80ad8b4SAndroid Build Coastguard Worker 	__u32 edx;
11*f80ad8b4SAndroid Build Coastguard Worker 	__u32 esi;
12*f80ad8b4SAndroid Build Coastguard Worker 	__u32 edi;
13*f80ad8b4SAndroid Build Coastguard Worker 	__u32 ebp;
14*f80ad8b4SAndroid Build Coastguard Worker 	__u32 eax;
15*f80ad8b4SAndroid Build Coastguard Worker 	__u32 eip;
16*f80ad8b4SAndroid Build Coastguard Worker 	__u32 eflags;
17*f80ad8b4SAndroid Build Coastguard Worker 	__u32 esp;
18*f80ad8b4SAndroid Build Coastguard Worker 	__u16 cs;
19*f80ad8b4SAndroid Build Coastguard Worker 	__u16 ss;
20*f80ad8b4SAndroid Build Coastguard Worker 	__u16 es;
21*f80ad8b4SAndroid Build Coastguard Worker 	__u16 ds;
22*f80ad8b4SAndroid Build Coastguard Worker 	__u16 fs;
23*f80ad8b4SAndroid Build Coastguard Worker 	__u16 gs;
24*f80ad8b4SAndroid Build Coastguard Worker };
25*f80ad8b4SAndroid Build Coastguard Worker 
26*f80ad8b4SAndroid Build Coastguard Worker /* Task flags */
27*f80ad8b4SAndroid Build Coastguard Worker #define TF_VBEIB	0x01
28*f80ad8b4SAndroid Build Coastguard Worker #define TF_BUF_ESDI	0x02
29*f80ad8b4SAndroid Build Coastguard Worker #define TF_BUF_ESBX	0x04
30*f80ad8b4SAndroid Build Coastguard Worker #define TF_BUF_RET	0x08
31*f80ad8b4SAndroid Build Coastguard Worker #define TF_EXIT		0x10
32*f80ad8b4SAndroid Build Coastguard Worker 
33*f80ad8b4SAndroid Build Coastguard Worker struct uvesafb_task {
34*f80ad8b4SAndroid Build Coastguard Worker 	__u8 flags;
35*f80ad8b4SAndroid Build Coastguard Worker 	int buf_len;
36*f80ad8b4SAndroid Build Coastguard Worker 	struct v86_regs regs;
37*f80ad8b4SAndroid Build Coastguard Worker };
38*f80ad8b4SAndroid Build Coastguard Worker 
39*f80ad8b4SAndroid Build Coastguard Worker /* Constants for the capabilities field
40*f80ad8b4SAndroid Build Coastguard Worker  * in vbe_ib */
41*f80ad8b4SAndroid Build Coastguard Worker #define VBE_CAP_CAN_SWITCH_DAC	0x01
42*f80ad8b4SAndroid Build Coastguard Worker #define VBE_CAP_VGACOMPAT	0x02
43*f80ad8b4SAndroid Build Coastguard Worker 
44*f80ad8b4SAndroid Build Coastguard Worker /* The VBE Info Block */
45*f80ad8b4SAndroid Build Coastguard Worker struct vbe_ib {
46*f80ad8b4SAndroid Build Coastguard Worker 	char  vbe_signature[4];
47*f80ad8b4SAndroid Build Coastguard Worker 	__u16 vbe_version;
48*f80ad8b4SAndroid Build Coastguard Worker 	__u32 oem_string_ptr;
49*f80ad8b4SAndroid Build Coastguard Worker 	__u32 capabilities;
50*f80ad8b4SAndroid Build Coastguard Worker 	__u32 mode_list_ptr;
51*f80ad8b4SAndroid Build Coastguard Worker 	__u16 total_memory;
52*f80ad8b4SAndroid Build Coastguard Worker 	__u16 oem_software_rev;
53*f80ad8b4SAndroid Build Coastguard Worker 	__u32 oem_vendor_name_ptr;
54*f80ad8b4SAndroid Build Coastguard Worker 	__u32 oem_product_name_ptr;
55*f80ad8b4SAndroid Build Coastguard Worker 	__u32 oem_product_rev_ptr;
56*f80ad8b4SAndroid Build Coastguard Worker 	__u8  reserved[222];
57*f80ad8b4SAndroid Build Coastguard Worker 	char  oem_data[256];
58*f80ad8b4SAndroid Build Coastguard Worker 	char  misc_data[512];
59*f80ad8b4SAndroid Build Coastguard Worker } __attribute__ ((packed));
60*f80ad8b4SAndroid Build Coastguard Worker 
61*f80ad8b4SAndroid Build Coastguard Worker #endif /* _UAPI_UVESAFB_H */
62