Add coreboot framebuffer support to libpayload

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> 



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5295 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2010-03-25 18:56:26 +00:00
committed by Stefan Reinauer
parent 7208f6e031
commit b700254aa5
11 changed files with 359 additions and 17 deletions

View File

@@ -136,6 +136,26 @@ struct cb_forward {
u64 forward;
};
#define CB_TAG_FRAMEBUFFER 0x0012
struct cb_framebuffer {
u32 tag;
u32 size;
u64 physical_address;
u32 x_resolution;
u32 y_resolution;
u32 bytes_per_line;
u8 bits_per_pixel;
u8 red_mask_pos;
u8 red_mask_size;
u8 green_mask_pos;
u8 green_mask_size;
u8 blue_mask_pos;
u8 blue_mask_size;
u8 reserved_mask_pos;
u8 reserved_mask_size;
};
#define CB_TAG_CMOS_OPTION_TABLE 0x00c8
struct cb_cmos_option_table {
u32 tag;

View File

@@ -38,4 +38,9 @@
(( (in) & 0xFF0000) >> 8) | (( (in) & 0xFF000000) >> 24))
#define ntohll(in) (((u64) ntohl( (in) & 0xFFFFFFFF) << 32) | ((u64) ntohl( (in) >> 32)))
#define htonw(in) ntohw(in)
#define htonl(in) ntohl(in)
#define htonll(in) ntohll(in)
#endif

View File

@@ -50,6 +50,8 @@ struct sysinfo_t {
u32 cmos_range_end;
u32 cmos_checksum_location;
struct cb_framebuffer *framebuffer;
unsigned long *mbtable; /** Pointer to the multiboot table */
};

View File

@@ -30,9 +30,6 @@
#ifndef _VIDEO_CONSOLE_H
#define _VIDEO_CONSOLE_H
#define VIDEO_ROWS 25
#define VIDEO_COLS 80
struct video_console {
int (*init)(void);
void (*putc)(u8, u8, unsigned int);
@@ -42,6 +39,9 @@ struct video_console {
void (*get_cursor)(unsigned int *, unsigned int *, unsigned int *);
void (*set_cursor)(unsigned int, unsigned int);
void (*enable_cursor)(int);
unsigned int rows;
unsigned int columns;
};
#endif