summaryrefslogtreecommitdiff
path: root/src/arch/i386
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/i386')
-rw-r--r--src/arch/i386/boot/coreboot_table.c15
-rw-r--r--src/arch/i386/include/arch/byteorder.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/src/arch/i386/boot/coreboot_table.c b/src/arch/i386/boot/coreboot_table.c
index e766463255..f3b7f6daca 100644
--- a/src/arch/i386/boot/coreboot_table.c
+++ b/src/arch/i386/boot/coreboot_table.c
@@ -148,6 +148,19 @@ static void lb_console(struct lb_header *header)
#endif
}
+static void lb_framebuffer(struct lb_header *header)
+{
+#if defined(CONFIG_BOOTSPLASH) && CONFIG_BOOTSPLASH && CONFIG_COREBOOT_KEEP_FRAMEBUFFER
+ void fill_lb_framebuffer(struct lb_framebuffer *framebuffer);
+
+ struct lb_framebuffer *framebuffer;
+ framebuffer = (struct lb_framebuffer *)lb_new_record(header);
+ framebuffer->tag = LB_TAG_FRAMEBUFFER;
+ framebuffer->size = sizeof(*framebuffer);
+ fill_lb_framebuffer(framebuffer);
+#endif
+}
+
static struct lb_mainboard *lb_mainboard(struct lb_header *header)
{
struct lb_record *rec;
@@ -565,6 +578,8 @@ unsigned long write_coreboot_table(
lb_console(head);
/* Record our various random string information */
lb_strings(head);
+ /* Record our framebuffer */
+ lb_framebuffer(head);
/* Remember where my valid memory ranges are */
return lb_table_fini(head, 1);
diff --git a/src/arch/i386/include/arch/byteorder.h b/src/arch/i386/include/arch/byteorder.h
index eecd02cf2b..ab344e6394 100644
--- a/src/arch/i386/include/arch/byteorder.h
+++ b/src/arch/i386/include/arch/byteorder.h
@@ -14,4 +14,7 @@
#define cpu_to_be16(x) swab16((x))
#define be16_to_cpu(x) swab16((x))
+#define ntohl(x) be32_to_cpu(x)
+#define htonl(x) cpu_to_be32(x)
+
#endif /* _BYTEORDER_H */