From 3bbf2ff789791ca6fe3eb9fc7d3c92ce1fc86367 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Sun, 27 Jan 2008 14:12:54 +0000 Subject: 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 Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3081 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/arch/i386/boot/coreboot_table.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/arch/i386/boot/coreboot_table.c') diff --git a/src/arch/i386/boot/coreboot_table.c b/src/arch/i386/boot/coreboot_table.c index 963ff385f5..0ba09e7215 100644 --- a/src/arch/i386/boot/coreboot_table.c +++ b/src/arch/i386/boot/coreboot_table.c @@ -90,6 +90,39 @@ struct lb_serial *lb_serial(struct lb_header *header) #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_record *rec; @@ -426,6 +459,8 @@ unsigned long write_coreboot_table( lb_mainboard(head); /* Record the serial port, if present */ lb_serial(head); + /* Record our console setup */ + lb_console(head); /* Record our various random string information */ lb_strings(head); -- cgit v1.2.3