summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2011-08-04 17:13:12 -0700
committerSimon Glass <sjg@chromium.org>2011-08-29 10:59:23 -0700
commit0c5ff9c582cff50ea47b446af9e5bcd976d95fe1 (patch)
tree0f7d10abbe5c2eddb301954dc73ecd40eef37e50 /lib
parentb4a3fbea1f1496c1600caff4b043530f3178f291 (diff)
Implement missing functions for vboot:
* video_clear() Clear the video framebuffer. * cold_reboot() Do a hard reset through the chipset's reset control register. This register is available on all x86 systems (at least those built in the last 10ys) * power_off() Power down the machine by using the power management sleep control of the chipset. This will currently only work on Intel chipsets. However, adapting it to new chipsets is fairly simple. You will have to find the IO address of the power management register block in your southbridge, and look up the appropriate SLP_TYP_S5 value from your southbridge's data sheet. BUG=chrome-os-partner:3912 TEST=Run vboot_twostage and see vboot first clear the screen and later cold boot. Run poweroff and coldboot command in uboot console. Change-Id: I59f49a41e8807b2ec3ebb3d083d2a06ced9553a0 Reviewed-on: http://gerrit.chromium.org/gerrit/5361 Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/vbexport/display.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/vbexport/display.c b/lib/vbexport/display.c
index cdf88627833..80f45128d99 100644
--- a/lib/vbexport/display.c
+++ b/lib/vbexport/display.c
@@ -55,6 +55,7 @@ static struct display_callbacks display_callbacks_ = {
.dc_position_cursor = video_position_cursor,
.dc_puts = video_puts,
.dc_display_bitmap = video_display_bitmap,
+ .dc_display_clear = video_clear
#endif
};
@@ -191,9 +192,5 @@ VbError_t VbExDisplayDebugInfo(const char *info_str)
/* this function is not technically part of the vboot interface */
int display_clear(void)
{
- if (display_callbacks_.dc_display_clear)
- return display_callbacks_.dc_display_clear();
-
- printf ("%s: not implemented!\n", __FUNCTION__);
- return -1;
+ return display_callbacks_.dc_display_clear();
}