122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI_UVESAFB_H
2022851890Sopenharmony_ci#define _UAPI_UVESAFB_H
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_cistruct v86_regs {
2322851890Sopenharmony_ci  __u32 ebx;
2422851890Sopenharmony_ci  __u32 ecx;
2522851890Sopenharmony_ci  __u32 edx;
2622851890Sopenharmony_ci  __u32 esi;
2722851890Sopenharmony_ci  __u32 edi;
2822851890Sopenharmony_ci  __u32 ebp;
2922851890Sopenharmony_ci  __u32 eax;
3022851890Sopenharmony_ci  __u32 eip;
3122851890Sopenharmony_ci  __u32 eflags;
3222851890Sopenharmony_ci  __u32 esp;
3322851890Sopenharmony_ci  __u16 cs;
3422851890Sopenharmony_ci  __u16 ss;
3522851890Sopenharmony_ci  __u16 es;
3622851890Sopenharmony_ci  __u16 ds;
3722851890Sopenharmony_ci  __u16 fs;
3822851890Sopenharmony_ci  __u16 gs;
3922851890Sopenharmony_ci};
4022851890Sopenharmony_ci#define TF_VBEIB 0x01
4122851890Sopenharmony_ci#define TF_BUF_ESDI 0x02
4222851890Sopenharmony_ci#define TF_BUF_ESBX 0x04
4322851890Sopenharmony_ci#define TF_BUF_RET 0x08
4422851890Sopenharmony_ci#define TF_EXIT 0x10
4522851890Sopenharmony_cistruct uvesafb_task {
4622851890Sopenharmony_ci  __u8 flags;
4722851890Sopenharmony_ci  int buf_len;
4822851890Sopenharmony_ci  struct v86_regs regs;
4922851890Sopenharmony_ci};
5022851890Sopenharmony_ci#define VBE_CAP_CAN_SWITCH_DAC 0x01
5122851890Sopenharmony_ci#define VBE_CAP_VGACOMPAT 0x02
5222851890Sopenharmony_cistruct vbe_ib {
5322851890Sopenharmony_ci  char vbe_signature[4];
5422851890Sopenharmony_ci  __u16 vbe_version;
5522851890Sopenharmony_ci  __u32 oem_string_ptr;
5622851890Sopenharmony_ci  __u32 capabilities;
5722851890Sopenharmony_ci  __u32 mode_list_ptr;
5822851890Sopenharmony_ci  __u16 total_memory;
5922851890Sopenharmony_ci  __u16 oem_software_rev;
6022851890Sopenharmony_ci  __u32 oem_vendor_name_ptr;
6122851890Sopenharmony_ci  __u32 oem_product_name_ptr;
6222851890Sopenharmony_ci  __u32 oem_product_rev_ptr;
6322851890Sopenharmony_ci  __u8 reserved[222];
6422851890Sopenharmony_ci  char oem_data[256];
6522851890Sopenharmony_ci  char misc_data[512];
6622851890Sopenharmony_ci} __attribute__((packed));
6722851890Sopenharmony_ci#endif
68