summaryrefslogtreecommitdiff
path: root/payloads/libpayload/i386/sysinfo.c
diff options
context:
space:
mode:
authorJordan Crouse <jordan.crouse@amd.com>2008-10-20 16:51:43 +0000
committerJordan Crouse <jordan.crouse@amd.com>2008-10-20 16:51:43 +0000
commit20c9cf12a4a8bc2a7939e7bbf490324984f5b055 (patch)
tree3ea6c90e80780dfcdda5d35b0a426d83349a0b49 /payloads/libpayload/i386/sysinfo.c
parent369a5f6c7a18516cb4da054d0e328f7464da9da7 (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.c11
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) {