summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2011-12-23 18:33:05 -0700
committerPatrick Georgi <patrick@georgi-clan.de>2011-12-24 12:02:18 +0100
commit44bf6fcbb2ca9cca24038b29afb695db41a629f0 (patch)
treedb8f1ca5195af014d4bf3501fa075a0cf17003b5 /payloads/libpayload
parent7d95b3e52804c3adfaf45453dbff289d8c1ae32e (diff)
downloadcoreboot-44bf6fcbb2ca9cca24038b29afb695db41a629f0.tar.xz
Let lib_get_sysinfo() pass through the success of get_coreboot_info()
The return status of get_coreboot_info() might be handy to a platform driver calling lib_get_sysinfo() to test for the presence of coreboot. Change-Id: I0176c93ee92c9dff733112026ee50f2ca797bdff Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Reviewed-on: http://review.coreboot.org/503 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'payloads/libpayload')
-rw-r--r--payloads/libpayload/arch/i386/sysinfo.c8
-rw-r--r--payloads/libpayload/arch/powerpc/sysinfo.c8
-rw-r--r--payloads/libpayload/include/libpayload.h2
3 files changed, 13 insertions, 5 deletions
diff --git a/payloads/libpayload/arch/i386/sysinfo.c b/payloads/libpayload/arch/i386/sysinfo.c
index 599a81140d..6c1ef3fc1c 100644
--- a/payloads/libpayload/arch/i386/sysinfo.c
+++ b/payloads/libpayload/arch/i386/sysinfo.c
@@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = {
#endif
};
-void lib_get_sysinfo(void)
+int lib_get_sysinfo(void)
{
+ int ret;
+
/* Get the CPU speed (for delays). */
lib_sysinfo.cpu_khz = get_cpu_speed();
@@ -59,7 +61,7 @@ void lib_get_sysinfo(void)
/* Get information from the coreboot tables,
* if they exist */
- get_coreboot_info(&lib_sysinfo);
+ ret = get_coreboot_info(&lib_sysinfo);
if (!lib_sysinfo.n_memranges) {
/* If we can't get a good memory range, use the default. */
@@ -73,4 +75,6 @@ void lib_get_sysinfo(void)
lib_sysinfo.memrange[1].size = 31 * 1024 * 1024;
lib_sysinfo.memrange[1].type = CB_MEM_RAM;
}
+
+ return ret;
}
diff --git a/payloads/libpayload/arch/powerpc/sysinfo.c b/payloads/libpayload/arch/powerpc/sysinfo.c
index 599a81140d..6c1ef3fc1c 100644
--- a/payloads/libpayload/arch/powerpc/sysinfo.c
+++ b/payloads/libpayload/arch/powerpc/sysinfo.c
@@ -45,8 +45,10 @@ struct sysinfo_t lib_sysinfo = {
#endif
};
-void lib_get_sysinfo(void)
+int lib_get_sysinfo(void)
{
+ int ret;
+
/* Get the CPU speed (for delays). */
lib_sysinfo.cpu_khz = get_cpu_speed();
@@ -59,7 +61,7 @@ void lib_get_sysinfo(void)
/* Get information from the coreboot tables,
* if they exist */
- get_coreboot_info(&lib_sysinfo);
+ ret = get_coreboot_info(&lib_sysinfo);
if (!lib_sysinfo.n_memranges) {
/* If we can't get a good memory range, use the default. */
@@ -73,4 +75,6 @@ void lib_get_sysinfo(void)
lib_sysinfo.memrange[1].size = 31 * 1024 * 1024;
lib_sysinfo.memrange[1].type = CB_MEM_RAM;
}
+
+ return ret;
}
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 8c8abc437e..d9f7d21781 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -369,7 +369,7 @@ int sysinfo_have_multiboot(unsigned long *addr);
int get_coreboot_info(struct sysinfo_t *info);
int get_multiboot_info(struct sysinfo_t *info);
-void lib_get_sysinfo(void);
+int lib_get_sysinfo(void);
/* Timer functions - defined by each architecture. */
unsigned int get_cpu_speed(void);