aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/interface
diff options
context:
space:
mode:
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? */