diff options
| author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2011-06-21 09:25:41 -0400 |
|---|---|---|
| committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2011-06-21 09:25:41 -0400 |
| commit | f7fdd84e04c8fdc9196abe3bfd27535bccb52ee5 (patch) | |
| tree | 648238ca42c83a4dadf2ea436fd5a6c061c8404b /include/xen/interface | |
| parent | 03dc6107ff485995d356cb8a77766920e2eee21e (diff) | |
| parent | c2419b4a4727f67af2fc2cd68b0d878b75e781bb (diff) | |
Merge branch 'stable/vga.support' into stable/drivers
* stable/vga.support:
xen: allow enable use of VGA console on dom0
Diffstat (limited to 'include/xen/interface')
| -rw-r--r-- | include/xen/interface/xen.h | 39 |
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 | ||
| 453 | struct 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? */ |
