122851890Sopenharmony_ci/*
222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py,
322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants,
422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information.
522851890Sopenharmony_ci */
622851890Sopenharmony_ci#ifndef _UAPI_UVESAFB_H
722851890Sopenharmony_ci#define _UAPI_UVESAFB_H
822851890Sopenharmony_ci#include <linux/types.h>
922851890Sopenharmony_cistruct v86_regs {
1022851890Sopenharmony_ci	__u32 ebx;
1122851890Sopenharmony_ci	__u32 ecx;
1222851890Sopenharmony_ci	__u32 edx;
1322851890Sopenharmony_ci	__u32 esi;
1422851890Sopenharmony_ci	__u32 edi;
1522851890Sopenharmony_ci	__u32 ebp;
1622851890Sopenharmony_ci	__u32 eax;
1722851890Sopenharmony_ci	__u32 eip;
1822851890Sopenharmony_ci	__u32 eflags;
1922851890Sopenharmony_ci	__u32 esp;
2022851890Sopenharmony_ci	__u16 cs;
2122851890Sopenharmony_ci	__u16 ss;
2222851890Sopenharmony_ci	__u16 es;
2322851890Sopenharmony_ci	__u16 ds;
2422851890Sopenharmony_ci	__u16 fs;
2522851890Sopenharmony_ci	__u16 gs;
2622851890Sopenharmony_ci};
2722851890Sopenharmony_ci#define TF_VBEIB	0x01
2822851890Sopenharmony_ci#define TF_BUF_ESDI	0x02
2922851890Sopenharmony_ci#define TF_BUF_ESBX	0x04
3022851890Sopenharmony_ci#define TF_BUF_RET	0x08
3122851890Sopenharmony_ci#define TF_EXIT		0x10
3222851890Sopenharmony_cistruct uvesafb_task {
3322851890Sopenharmony_ci	__u8 flags;
3422851890Sopenharmony_ci	int buf_len;
3522851890Sopenharmony_ci	struct v86_regs regs;
3622851890Sopenharmony_ci};
3722851890Sopenharmony_ci#define VBE_CAP_CAN_SWITCH_DAC	0x01
3822851890Sopenharmony_ci#define VBE_CAP_VGACOMPAT	0x02
3922851890Sopenharmony_cistruct vbe_ib {
4022851890Sopenharmony_ci	char  vbe_signature[4];
4122851890Sopenharmony_ci	__u16 vbe_version;
4222851890Sopenharmony_ci	__u32 oem_string_ptr;
4322851890Sopenharmony_ci	__u32 capabilities;
4422851890Sopenharmony_ci	__u32 mode_list_ptr;
4522851890Sopenharmony_ci	__u16 total_memory;
4622851890Sopenharmony_ci	__u16 oem_software_rev;
4722851890Sopenharmony_ci	__u32 oem_vendor_name_ptr;
4822851890Sopenharmony_ci	__u32 oem_product_name_ptr;
4922851890Sopenharmony_ci	__u32 oem_product_rev_ptr;
5022851890Sopenharmony_ci	__u8  reserved[222];
5122851890Sopenharmony_ci	char  oem_data[256];
5222851890Sopenharmony_ci	char  misc_data[512];
5322851890Sopenharmony_ci} __attribute__ ((packed));
5422851890Sopenharmony_ci#endif
55