diff options
author | Jordan Crouse <jordan.crouse@amd.com> | 2008-10-20 16:51:43 +0000 |
---|---|---|
committer | Jordan Crouse <jordan.crouse@amd.com> | 2008-10-20 16:51:43 +0000 |
commit | 20c9cf12a4a8bc2a7939e7bbf490324984f5b055 (patch) | |
tree | 3ea6c90e80780dfcdda5d35b0a426d83349a0b49 /payloads/libpayload/i386/sysinfo.c | |
parent | 369a5f6c7a18516cb4da054d0e328f7464da9da7 (diff) |
[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
Diffstat (limited to 'payloads/libpayload/i386/sysinfo.c')
-rw-r--r-- | payloads/libpayload/i386/sysinfo.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/payloads/libpayload/i386/sysinfo.c b/payloads/libpayload/i386/sysinfo.c index a845a2817b..a074361f4f 100644 --- a/payloads/libpayload/i386/sysinfo.c +++ b/payloads/libpayload/i386/sysinfo.c @@ -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) { |