aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/interface
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2011-05-31 10:50:10 -0400
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-06-06 11:46:00 -0400
commitc2419b4a4727f67af2fc2cd68b0d878b75e781bb (patch)
tree0fdbd76174536c40ea00cb5011e3bc1b98cc3f3d /include/xen/interface
parent61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf (diff)
xen: allow enable use of VGA console on dom0
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>
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 b33257bc7e83..29b362eab6cc 100644
--- a/include/xen/interface/xen.h
+++ b/include/xen/interface/xen.h
@@ -449,6 +449,45 @@ struct start_info {
449 int8_t cmd_line[MAX_GUEST_CMDLINE]; 449 int8_t cmd_line[MAX_GUEST_CMDLINE];
450}; 450};
451 451
452struct dom0_vga_console_info {
453 uint8_t video_type;
454#define XEN_VGATYPE_TEXT_MODE_3 0x03
455#define XEN_VGATYPE_VESA_LFB 0x23
456
457 union {
458 struct {
459 /* Font height, in pixels. */
460 uint16_t font_height;
461 /* Cursor location (column, row). */
462 uint16_t cursor_x, cursor_y;
463 /* Number of rows and columns (dimensions in characters). */
464 uint16_t rows, columns;
465 } text_mode_3;
466
467 struct {
468 /* Width and height, in pixels. */
469 uint16_t width, height;
470 /* Bytes per scan line. */
471 uint16_t bytes_per_line;
472 /* Bits per pixel. */
473 uint16_t bits_per_pixel;
474 /* LFB physical address, and size (in units of 64kB). */
475 uint32_t lfb_base;
476 uint32_t lfb_size;
477 /* RGB mask offsets and sizes, as defined by VBE 1.2+ */
478 uint8_t red_pos, red_size;
479 uint8_t green_pos, green_size;
480 uint8_t blue_pos, blue_size;
481 uint8_t rsvd_pos, rsvd_size;
482
483 /* VESA capabilities (offset 0xa, VESA command 0x4f00). */
484 uint32_t gbl_caps;
485 /* Mode attributes (offset 0x0, VESA command 0x4f01). */
486 uint16_t mode_attrs;
487 } vesa_lfb;
488 } u;
489};
490
452/* These flags are passed in the 'flags' field of start_info_t. */ 491/* These flags are passed in the 'flags' field of start_info_t. */
453#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ 492#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */
454#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ 493#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */