[coreboot-gerrit] Patch set updated for coreboot: 2015228 Move set_boot_successful to drivers/pc80/mc146818rtc.c

Denis Carikli (GNUtoo@no-log.org) gerrit at coreboot.org
Sun Oct 27 18:44:05 CET 2013


Denis Carikli (GNUtoo at no-log.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3996

-gerrit

commit 201522822e99b7073f2a0ba6c545b7cc3adb2d4c
Author: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
Date:   Sun Oct 27 17:58:11 2013 +0100

    Move set_boot_successful to drivers/pc80/mc146818rtc.c
    
    set_boot_successful depends on CONFIG_PC80_SYSTEM, it also is specific to the
      mc146818 RTC.
    
    Change-Id: I57d28d7c81ea595ce06bd4ec9c4981fa71566db9
    Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
---
 src/drivers/pc80/mc146818rtc.c | 29 +++++++++++++++++++++++++++++
 src/include/fallback.h         |  3 ---
 src/include/pc80/mc146818rtc.h |  2 ++
 src/lib/fallback_boot.c        | 25 +------------------------
 4 files changed, 32 insertions(+), 27 deletions(-)

diff --git a/src/drivers/pc80/mc146818rtc.c b/src/drivers/pc80/mc146818rtc.c
index be52454..c9cc8ab 100644
--- a/src/drivers/pc80/mc146818rtc.c
+++ b/src/drivers/pc80/mc146818rtc.c
@@ -322,3 +322,32 @@ void rtc_check_update_cmos_date(u8 has_century)
 		rtc_update_cmos_date(has_century);
 	}
 }
+
+#if CONFIG_USE_OPTION_TABLE
+/* Reset the boot count if the boot is considered successfull */
+void set_boot_successful(void)
+{
+	/* Remember I successfully booted by setting
+	 * the initial boot direction
+	 * to the direction that I booted.
+	 */
+	unsigned char index, byte;
+	index = inb(RTC_PORT(0)) & 0x80;
+	index |= RTC_BOOT_BYTE;
+	outb(index, RTC_PORT(0));
+
+	byte = inb(RTC_PORT(1));
+	byte &= 0xfe;
+	byte |= (byte & (1 << 1)) >> 1;
+
+	/* If we are in normal mode set the boot count to 0 */
+	if(byte & 1)
+		byte &= 0x0f;
+	outb(byte, RTC_PORT(1));
+}
+#else
+void set_boot_successful(void)
+{
+	/* Nothing to do. */
+}
+#endif
diff --git a/src/include/fallback.h b/src/include/fallback.h
index 7f3c823..013308c 100644
--- a/src/include/fallback.h
+++ b/src/include/fallback.h
@@ -6,7 +6,4 @@
 void boot_successful(void);
 
 #endif /* __ASSEMBLER__ */
-
-#define RTC_BOOT_BYTE	48
-
 #endif /* FALLBACK_H */
diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h
index 170a433..24cc111 100644
--- a/src/include/pc80/mc146818rtc.h
+++ b/src/include/pc80/mc146818rtc.h
@@ -14,6 +14,7 @@
 #define RTC_REG_C		12
 #define RTC_REG_D		13
 
+#define RTC_BOOT_BYTE		48
 
 /**********************************************************************
  * register details
@@ -171,6 +172,7 @@ static inline void cmos_write32(u8 offset, u32 value)
 void rtc_init(int invalid);
 void rtc_check_update_cmos_date(u8 has_century);
 #if CONFIG_USE_OPTION_TABLE
+void set_boot_successful(void);
 int set_option(const char *name, void *val);
 int get_option(void *dest, const char *name);
 unsigned read_option_lowlevel(unsigned start, unsigned size, unsigned def);
diff --git a/src/lib/fallback_boot.c b/src/lib/fallback_boot.c
index b956c94..a34090e 100644
--- a/src/lib/fallback_boot.c
+++ b/src/lib/fallback_boot.c
@@ -3,30 +3,7 @@
 #include <watchdog.h>
 #include <arch/io.h>
 
-#if CONFIG_PC80_SYSTEM
-#include <pc80/mc146818rtc.h>
-
-static void set_boot_successful(void)
-{
-	/* Remember I successfully booted by setting
-	 * the initial boot direction
-	 * to the direction that I booted.
-	 */
-	unsigned char index, byte;
-	index = inb(RTC_PORT(0)) & 0x80;
-	index |= RTC_BOOT_BYTE;
-	outb(index, RTC_PORT(0));
-
-	byte = inb(RTC_PORT(1));
-	byte &= 0xfe;
-	byte |= (byte & (1 << 1)) >> 1;
-
-	/* If we are in normal mode set the boot count to 0 */
-	if(byte & 1)
-		byte &= 0x0f;
-	outb(byte, RTC_PORT(1));
-}
-#else
+#if !CONFIG_PC80_SYSTEM
 static void set_boot_successful(void)
 {
 	/* To be implemented */



More information about the coreboot-gerrit mailing list