Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
boot
vesa.h
Go to the documentation of this file.
1
/* ----------------------------------------------------------------------- *
2
*
3
* Copyright 1999-2007 H. Peter Anvin - All Rights Reserved
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8
* Boston MA 02111-1307, USA; either version 2 of the License, or
9
* (at your option) any later version; incorporated herein by reference.
10
*
11
* ----------------------------------------------------------------------- */
12
13
#ifndef BOOT_VESA_H
14
#define BOOT_VESA_H
15
16
typedef
struct
{
17
u16
off,
seg
;
18
}
far_ptr
;
19
20
/* VESA General Information table */
21
struct
vesa_general_info
{
22
u32
signature
;
/* 0 Magic number = "VESA" */
23
u16
version
;
/* 4 */
24
far_ptr
vendor_string
;
/* 6 */
25
u32
capabilities
;
/* 10 */
26
far_ptr
video_mode_ptr
;
/* 14 */
27
u16
total_memory
;
/* 18 */
28
29
u8
reserved
[236];
/* 20 */
30
}
__attribute__
((packed));
31
32
#define VESA_MAGIC ('V' + ('E' << 8) + ('S' << 16) + ('A' << 24))
33
34
struct
vesa_mode_info
{
35
u16
mode_attr
;
/* 0 */
36
u8
win_attr
[2];
/* 2 */
37
u16
win_grain
;
/* 4 */
38
u16
win_size
;
/* 6 */
39
u16
win_seg
[2];
/* 8 */
40
far_ptr
win_scheme
;
/* 12 */
41
u16
logical_scan
;
/* 16 */
42
43
u16
h_res
;
/* 18 */
44
u16
v_res
;
/* 20 */
45
u8
char_width
;
/* 22 */
46
u8
char_height
;
/* 23 */
47
u8
memory_planes
;
/* 24 */
48
u8
bpp
;
/* 25 */
49
u8
banks
;
/* 26 */
50
u8
memory_layout
;
/* 27 */
51
u8
bank_size
;
/* 28 */
52
u8
image_planes
;
/* 29 */
53
u8
page_function
;
/* 30 */
54
55
u8
rmask
;
/* 31 */
56
u8
rpos
;
/* 32 */
57
u8
gmask
;
/* 33 */
58
u8
gpos
;
/* 34 */
59
u8
bmask
;
/* 35 */
60
u8
bpos
;
/* 36 */
61
u8
resv_mask
;
/* 37 */
62
u8
resv_pos
;
/* 38 */
63
u8
dcm_info
;
/* 39 */
64
65
u32
lfb_ptr
;
/* 40 Linear frame buffer address */
66
u32
offscreen_ptr
;
/* 44 Offscreen memory address */
67
u16
offscreen_size
;
/* 48 */
68
69
u8
reserved
[206];
/* 50 */
70
}
__attribute__
((packed));
71
72
#endif
/* LIB_SYS_VESA_H */
Generated on Thu Jan 10 2013 13:19:47 for Linux Kernel by
1.8.2