Add a new record type "console" for lbtable, and insert one record
for each output device we support, so the payload can figure out where to find consoles that the user cares about. Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3081 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
2d94dead69
commit
3bbf2ff789
|
@ -90,6 +90,39 @@ struct lb_serial *lb_serial(struct lb_header *header)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void add_console(struct lb_header *header, u16 consoletype)
|
||||||
|
{
|
||||||
|
struct lb_record *rec;
|
||||||
|
struct lb_console *console;
|
||||||
|
rec = lb_new_record(header);
|
||||||
|
console = (struct lb_console *)lb_new_record(header);
|
||||||
|
console->tag = LB_TAG_CONSOLE;
|
||||||
|
console->size = sizeof(*console);
|
||||||
|
console->type = consoletype;
|
||||||
|
}
|
||||||
|
|
||||||
|
void lb_console(struct lb_header *header)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_CONSOLE_SERIAL8250
|
||||||
|
add_console(header, LB_TAG_CONSOLE_SERIAL8250);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_CONSOLE_VGA
|
||||||
|
add_console(header, LB_TAG_CONSOLE_VGA);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_CONSOLE_BTEXT
|
||||||
|
add_console(header, LB_TAG_CONSOLE_BTEXT);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_CONSOLE_LOGBUF
|
||||||
|
add_console(header, LB_TAG_CONSOLE_LOGBUF);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_CONSOLE_SROM
|
||||||
|
add_console(header, LB_TAG_CONSOLE_SROM);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_USBDEBUG_DIRECT
|
||||||
|
add_console(header, LB_TAG_CONSOLE_EHCI);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
struct lb_mainboard *lb_mainboard(struct lb_header *header)
|
struct lb_mainboard *lb_mainboard(struct lb_header *header)
|
||||||
{
|
{
|
||||||
struct lb_record *rec;
|
struct lb_record *rec;
|
||||||
|
@ -426,6 +459,8 @@ unsigned long write_coreboot_table(
|
||||||
lb_mainboard(head);
|
lb_mainboard(head);
|
||||||
/* Record the serial port, if present */
|
/* Record the serial port, if present */
|
||||||
lb_serial(head);
|
lb_serial(head);
|
||||||
|
/* Record our console setup */
|
||||||
|
lb_console(head);
|
||||||
/* Record our various random string information */
|
/* Record our various random string information */
|
||||||
lb_strings(head);
|
lb_strings(head);
|
||||||
|
|
||||||
|
|
|
@ -138,6 +138,8 @@ struct lb_string {
|
||||||
uint8_t string[0];
|
uint8_t string[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* 0xe is taken by v3 */
|
||||||
|
|
||||||
#define LB_TAG_SERIAL 0x000f
|
#define LB_TAG_SERIAL 0x000f
|
||||||
struct lb_serial {
|
struct lb_serial {
|
||||||
uint32_t tag;
|
uint32_t tag;
|
||||||
|
@ -145,6 +147,20 @@ struct lb_serial {
|
||||||
uint16_t ioport;
|
uint16_t ioport;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define LB_TAG_CONSOLE 0x0010
|
||||||
|
struct lb_console {
|
||||||
|
uint32_t tag;
|
||||||
|
uint32_t size;
|
||||||
|
uint16_t type;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define LB_TAG_CONSOLE_SERIAL8250 0
|
||||||
|
#define LB_TAG_CONSOLE_VGA 1
|
||||||
|
#define LB_TAG_CONSOLE_BTEXT 2
|
||||||
|
#define LB_TAG_CONSOLE_LOGBUF 3
|
||||||
|
#define LB_TAG_CONSOLE_SROM 4
|
||||||
|
#define LB_TAG_CONSOLE_EHCI 5
|
||||||
|
|
||||||
/* The following structures are for the cmos definitions table */
|
/* The following structures are for the cmos definitions table */
|
||||||
#define LB_TAG_CMOS_OPTION_TABLE 200
|
#define LB_TAG_CMOS_OPTION_TABLE 200
|
||||||
/* cmos header record */
|
/* cmos header record */
|
||||||
|
|
Loading…
Reference in New Issue