diff options
Diffstat (limited to 'include/xen')
-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 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 | ||
452 | struct 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? */ |