Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Merge branch 'devel'
[palacios.git] / kitten / include / lwk / screen_info.h
1 #ifndef _SCREEN_INFO_H
2 #define _SCREEN_INFO_H
3
4 #include <lwk/types.h>
5
6 /*
7  * These are set up by the setup-routine at boot-time:
8  */
9
10 struct screen_info {
11         u8  orig_x;             /* 0x00 */
12         u8  orig_y;             /* 0x01 */
13         u16 dontuse1;           /* 0x02 -- EXT_MEM_K sits here */
14         u16 orig_video_page;    /* 0x04 */
15         u8  orig_video_mode;    /* 0x06 */
16         u8  orig_video_cols;    /* 0x07 */
17         u16 unused2;            /* 0x08 */
18         u16 orig_video_ega_bx;  /* 0x0a */
19         u16 unused3;            /* 0x0c */
20         u8  orig_video_lines;   /* 0x0e */
21         u8  orig_video_isVGA;   /* 0x0f */
22         u16 orig_video_points;  /* 0x10 */
23
24         /* VESA graphic mode -- linear frame buffer */
25         u16 lfb_width;          /* 0x12 */
26         u16 lfb_height;         /* 0x14 */
27         u16 lfb_depth;          /* 0x16 */
28         u32 lfb_base;           /* 0x18 */
29         u32 lfb_size;           /* 0x1c */
30         u16 dontuse2, dontuse3; /* 0x20 -- CL_MAGIC and CL_OFFSET here */
31         u16 lfb_linelength;     /* 0x24 */
32         u8  red_size;           /* 0x26 */
33         u8  red_pos;            /* 0x27 */
34         u8  green_size;         /* 0x28 */
35         u8  green_pos;          /* 0x29 */
36         u8  blue_size;          /* 0x2a */
37         u8  blue_pos;           /* 0x2b */
38         u8  rsvd_size;          /* 0x2c */
39         u8  rsvd_pos;           /* 0x2d */
40         u16 vesapm_seg;         /* 0x2e */
41         u16 vesapm_off;         /* 0x30 */
42         u16 pages;              /* 0x32 */
43         u16 vesa_attributes;    /* 0x34 */
44         u32 capabilities;       /* 0x36 */
45                                 /* 0x3a -- 0x3f reserved for future expansion */
46 };
47
48 extern struct screen_info screen_info;
49
50 #define ORIG_X                  (screen_info.orig_x)
51 #define ORIG_Y                  (screen_info.orig_y)
52 #define ORIG_VIDEO_MODE         (screen_info.orig_video_mode)
53 #define ORIG_VIDEO_COLS         (screen_info.orig_video_cols)
54 #define ORIG_VIDEO_EGA_BX       (screen_info.orig_video_ega_bx)
55 #define ORIG_VIDEO_LINES        (screen_info.orig_video_lines)
56 #define ORIG_VIDEO_ISVGA        (screen_info.orig_video_isVGA)
57 #define ORIG_VIDEO_POINTS       (screen_info.orig_video_points)
58
59 #define VIDEO_TYPE_MDA          0x10    /* Monochrome Text Display      */
60 #define VIDEO_TYPE_CGA          0x11    /* CGA Display                  */
61 #define VIDEO_TYPE_EGAM         0x20    /* EGA/VGA in Monochrome Mode   */
62 #define VIDEO_TYPE_EGAC         0x21    /* EGA in Color Mode            */
63 #define VIDEO_TYPE_VGAC         0x22    /* VGA+ in Color Mode           */
64 #define VIDEO_TYPE_VLFB         0x23    /* VESA VGA in graphic mode     */
65
66 #define VIDEO_TYPE_PICA_S3      0x30    /* ACER PICA-61 local S3 video  */
67 #define VIDEO_TYPE_MIPS_G364    0x31    /* MIPS Magnum 4000 G364 video  */
68 #define VIDEO_TYPE_SGI          0x33    /* Various SGI graphics hardware */
69
70 #define VIDEO_TYPE_TGAC         0x40    /* DEC TGA */
71
72 #define VIDEO_TYPE_SUN          0x50    /* Sun frame buffer. */
73 #define VIDEO_TYPE_SUNPCI       0x51    /* Sun PCI based frame buffer. */
74
75 #define VIDEO_TYPE_PMAC         0x60    /* PowerMacintosh frame buffer. */
76
77 #endif /* _SCREEN_INFO_H */