diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/i386/boot/coreboot_table.c | 15 | ||||
-rw-r--r-- | src/arch/i386/include/arch/byteorder.h | 3 |
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 */ |