[PATCH] libpayload: Add multiboot support

Make libpayload applications multiboot compatible.  Add the
multiboot OS table and grok the loader table, especially the
memory map and the command line.  This makes libpayload 
applications loadable by GRUB.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3673 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Jordan Crouse
2008-10-20 16:51:43 +00:00
parent 369a5f6c7a
commit 20c9cf12a4
10 changed files with 234 additions and 3 deletions

View File

@@ -29,6 +29,7 @@
#include <config.h>
#include <libpayload.h>
#include <multiboot_tables.h>
/**
* This is a global structure that is used through the library - we set it
@@ -48,7 +49,15 @@ void lib_get_sysinfo(void)
/* Get the CPU speed (for delays). */
lib_sysinfo.cpu_khz = get_cpu_speed();
/* Get the memory information. */
#ifdef CONFIG_MULTIBOOT
/* Get the information from the multiboot tables,
* if they exist */
get_multiboot_info(&lib_sysinfo);
#endif
/* Get information from the coreboot tables,
* if they exist */
get_coreboot_info(&lib_sysinfo);
if (!lib_sysinfo.n_memranges) {