aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/interface
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2011-05-31 10:50:10 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-15 21:31:34 -0400
commita18696ca2b7699c1949ac3f606bd28264e48f8dd (patch)
tree3bf1a31c4d2be51eae01ab11c56e3b0fca376299 /include/xen/interface
parent5b47b8038f183b44d2d8ff1c7d11a5c1be706b34 (diff)
xen: allow enable use of VGA console on dom0
commit c2419b4a4727f67af2fc2cd68b0d878b75e781bb upstream. Get the information about the VGA console hardware from Xen, and put it into the form the bootloader normally generates, so that the rest of the kernel can deal with VGA as usual. [ Impact: make VGA console work in dom0 ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> [v1: Rebased on 2.6.39] [v2: Removed incorrect comments and fixed compile warnings] Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/xen/interface')
-rw-r--r--include/xen/interface/xen.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
index 70213b4515e..6acd9cefd51 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -450,6 +450,45 @@ struct start_info {
450 int8_t cmd_line[MAX_GUEST_CMDLINE]; 450 int8_t cmd_line[MAX_GUEST_CMDLINE];
451}; 451};
452 452
453struct dom0_vga_console_info {
454 uint8_t video_type;
455#define XEN_VGATYPE_TEXT_MODE_3 0x03
456#define XEN_VGATYPE_VESA_LFB 0x23
457
458 union {
459 struct {
460 /* Font height, in pixels. */
461 uint16_t font_height;
462 /* Cursor location (column, row). */
463 uint16_t cursor_x, cursor_y;
464 /* Number of rows and columns (dimensions in characters). */
465 uint16_t rows, columns;
466 } text_mode_3;
467
468 struct {
469 /* Width and height, in pixels. */
470 uint16_t width, height;
471 /* Bytes per scan line. */
472 uint16_t bytes_per_line;
473 /* Bits per pixel. */
474 uint16_t bits_per_pixel;
475 /* LFB physical address, and size (in units of 64kB). */
476 uint32_t lfb_base;
477 uint32_t lfb_size;
478 /* RGB mask offsets and sizes, as defined by VBE 1.2+ */
479 uint8_t red_pos, red_size;
480 uint8_t green_pos, green_size;
481 uint8_t blue_pos, blue_size;
482 uint8_t rsvd_pos, rsvd_size;
483
484 /* VESA capabilities (offset 0xa, VESA command 0x4f00). */
485 uint32_t gbl_caps;
486 /* Mode attributes (offset 0x0, VESA command 0x4f01). */
487 uint16_t mode_attrs;
488 } vesa_lfb;
489 } u;
490};
491
453/* These flags are passed in the 'flags' field of start_info_t. */ 492/* These flags are passed in the 'flags' field of start_info_t. */
454#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ 493#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */
455#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ 494#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */