coreboot/src/lib/fallback_boot.c
<<
>>
Prefs
   1#include <console/console.h>
   2#include <fallback.h>
   3#include <watchdog.h>
   4#include <pc80/mc146818rtc.h>
   5#include <arch/io.h>
   6
   7
   8void set_boot_successful(void)
   9{
  10        /* Remember I succesfully booted by setting
  11         * the initial boot direction
  12         * to the direction that I booted.
  13         */
  14        unsigned char index, byte;
  15        index = inb(RTC_PORT(0)) & 0x80;
  16        index |= RTC_BOOT_BYTE;
  17        outb(index, RTC_PORT(0));
  18
  19        byte = inb(RTC_PORT(1));
  20        byte &= 0xfe;
  21        byte |= (byte & (1 << 1)) >> 1;
  22
  23        /* If we are in normal mode set the boot count to 0 */
  24        if(byte & 1)
  25                byte &= 0x0f;
  26        outb(byte, RTC_PORT(1));
  27}
  28
  29void boot_successful(void)
  30{
  31#if CONFIG_BOOTSPLASH && !CONFIG_COREBOOT_KEEP_FRAMEBUFFER
  32        void vbe_textmode_console(void);
  33
  34        vbe_textmode_console();
  35#endif
  36        /* Remember this was a successful boot */
  37        set_boot_successful();
  38
  39        /* turn off the boot watchdog */
  40        watchdog_off();
  41}
  42
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.