mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-26 09:10:53 +00:00
VBE support is partially added.
This commit is contained in:
1 parent
76b7a59d9b
commit
ad50fc1180
8 files changed
+559
-47
No files matched your search
@@ -420,6 +420,83 @@ struct mmar_desc
|
||||
unsigned long type; /* Type of address range. */
|
||||
};
|
||||
|
||||
/* VBE controller information. */
|
||||
struct vbe_controller
|
||||
{
|
||||
unsigned char signature[4];
|
||||
unsigned short version;
|
||||
unsigned long oem_string;
|
||||
unsigned long capabilities;
|
||||
unsigned long video_mode;
|
||||
unsigned short total_memory;
|
||||
unsigned short oem_software_rev;
|
||||
unsigned long oem_vendor_name;
|
||||
unsigned long oem_product_name;
|
||||
unsigned long oem_product_rev;
|
||||
unsigned char reserved[222];
|
||||
unsigned char oem_data[256];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* VBE mode information. */
|
||||
struct vbe_mode
|
||||
{
|
||||
unsigned short mode_attributes;
|
||||
unsigned char win_a_attributes;
|
||||
unsigned char win_b_attributes;
|
||||
unsigned short win_granularity;
|
||||
unsigned short win_size;
|
||||
unsigned short win_a_segment;
|
||||
unsigned short win_b_segment;
|
||||
unsigned long win_func;
|
||||
unsigned short bytes_per_scanline;
|
||||
|
||||
/* >=1.2 */
|
||||
unsigned short x_resolution;
|
||||
unsigned short y_resolution;
|
||||
unsigned char x_char_size;
|
||||
unsigned char y_char_size;
|
||||
unsigned char number_of_planes;
|
||||
unsigned char bits_per_pixel;
|
||||
unsigned char number_of_banks;
|
||||
unsigned char memory_model;
|
||||
unsigned char bank_size;
|
||||
unsigned char number_of_image_pages;
|
||||
unsigned char reserved0;
|
||||
|
||||
/* direct color */
|
||||
unsigned char red_mask_size;
|
||||
unsigned char red_field_position;
|
||||
unsigned char green_mask_size;
|
||||
unsigned char green_field_position;
|
||||
unsigned char blue_mask_size;
|
||||
unsigned char blue_field_position;
|
||||
unsigned char reserved_mask_size;
|
||||
unsigned char reserved_field_position;
|
||||
unsigned char direct_color_mode_info;
|
||||
|
||||
/* >=2.0 */
|
||||
unsigned long phys_base;
|
||||
unsigned long reserved1;
|
||||
unsigned short reversed2;
|
||||
|
||||
/* >=3.0 */
|
||||
unsigned short linear_bytes_per_scanline;
|
||||
unsigned char banked_number_of_image_pages;
|
||||
unsigned char linear_number_of_image_pages;
|
||||
unsigned char linear_red_mask_size;
|
||||
unsigned char linear_red_field_position;
|
||||
unsigned char linear_green_mask_size;
|
||||
unsigned char linear_green_field_position;
|
||||
unsigned char linear_blue_mask_size;
|
||||
unsigned char linear_blue_field_position;
|
||||
unsigned char linear_reserved_mask_size;
|
||||
unsigned char linear_reserved_field_position;
|
||||
unsigned long max_pixel_clock;
|
||||
|
||||
unsigned char reserved3[189];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
|
||||
#undef NULL
|
||||
#define NULL ((void *) 0)
|
||||
|
||||
@@ -662,6 +739,15 @@ unsigned long get_rom_config_table (void);
|
||||
/* Get APM BIOS information. */
|
||||
void get_apm_info (void);
|
||||
|
||||
/* Get VBE controller information. */
|
||||
int get_vbe_controller_info (struct vbe_controller *controller);
|
||||
|
||||
/* Get VBE mode information. */
|
||||
int get_vbe_mode_info (int mode_number, struct vbe_mode *mode);
|
||||
|
||||
/* Set VBE mode. */
|
||||
int set_vbe_mode (int mode_number);
|
||||
|
||||
/* Return the data area immediately following our code. */
|
||||
int get_code_end (void);
|
||||
|
||||
|
||||
Reference in new issue
Block a user