[coreboot] Patch set updated for coreboot: 21ee555 mc146818rtc: Remove the hyphen to build on NetBSD and Darwin

Zheng Bao (zheng.bao@amd.com) gerrit at coreboot.org
Fri Nov 9 11:31:15 CET 2012


Zheng Bao (zheng.bao at amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1804

-gerrit

commit 21ee5554f5b4f2bff5370b7a02731617ed633ec6
Author: Zheng Bao <fishbaozi at gmail.com>
Date:   Fri Nov 9 19:55:04 2012 +0800

    mc146818rtc: Remove the hyphen to build on NetBSD and Darwin
    
    http://netbsd.gw.com/cgi-bin/man-cgi?date++NetBSD-current
    The NetBSD manual tells us the date in NetBSD doesn't take any flags
    to enable or disable padding in the format.
    
    By default, date pads numeric fields with zeroes. This will convert the
    number to octal one. So add "0x" to convert it to BCD directly.
    
    Change-Id: Icd44312acf01b8232f1da1fbaa70630d09007b40
    Signed-off-by: Zheng Bao <zheng.bao at amd.com>
    Signed-off-by: zbao <fishbaozi at gmail.com>
---
 Makefile.inc                   | 8 ++++----
 src/drivers/pc80/mc146818rtc.c | 8 ++++----
 src/include/pc80/mc146818rtc.h | 2 --
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 71fdbc2..f85bbda 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -179,10 +179,10 @@ $(obj)/build.h: .xcompile
 	printf "#define COREBOOT_VERSION \"$(KERNELVERSION)\"\n" >> $(obj)/build.ht
 	printf "#define COREBOOT_EXTRA_VERSION \"$(COREBOOT_EXTRA_VERSION)\"\n" >> $(obj)/build.ht
 	printf "#define COREBOOT_BUILD \"`LANG= date`\"\n" >> $(obj)/build.ht
-	printf "#define COREBOOT_BUILD_YEAR `LANG= date +"%-y"`\n" >> $(obj)/build.ht
-	printf "#define COREBOOT_BUILD_MONTH `LANG= date +"%-m"`\n" >> $(obj)/build.ht
-	printf "#define COREBOOT_BUILD_DAY `LANG= date +"%-d"`\n" >> $(obj)/build.ht
-	printf "#define COREBOOT_BUILD_WEEKDAY `LANG= date +"%-w"`\n" >> $(obj)/build.ht
+	printf "#define COREBOOT_BUILD_YEAR_BCD 0x`LANG= date +"%y"`\n" >> $(obj)/build.ht
+	printf "#define COREBOOT_BUILD_MONTH_BCD 0x`LANG= date +"%m"`\n" >> $(obj)/build.ht
+	printf "#define COREBOOT_BUILD_DAY_BCD 0x`LANG= date +"%d"`\n" >> $(obj)/build.ht
+	printf "#define COREBOOT_BUILD_WEEKDAY_BCD 0x`LANG= date +"%w"`\n" >> $(obj)/build.ht
 	printf "#define COREBOOT_DMI_DATE \"`LANG= date +"%m/%d/%Y"`\"\n" >> $(obj)/build.ht
 	printf "\n" >> $(obj)/build.ht
 	printf "#define COREBOOT_COMPILER \"$(shell LANG= $(CC) --version | head -n1)\"\n" >> $(obj)/build.ht
diff --git a/src/drivers/pc80/mc146818rtc.c b/src/drivers/pc80/mc146818rtc.c
index aee4df7..6e75943 100644
--- a/src/drivers/pc80/mc146818rtc.c
+++ b/src/drivers/pc80/mc146818rtc.c
@@ -87,10 +87,10 @@ static void rtc_update_cmos_date(u8 has_century)
 	cmos_write(0, RTC_CLK_SECOND);
 	cmos_write(0, RTC_CLK_MINUTE);
 	cmos_write(1, RTC_CLK_HOUR);
-	cmos_write(RTC_TO_BCD(COREBOOT_BUILD_WEEKDAY) + 1, RTC_CLK_DAYOFWEEK);
-	cmos_write(RTC_TO_BCD(COREBOOT_BUILD_DAY), RTC_CLK_DAYOFMONTH);
-	cmos_write(RTC_TO_BCD(COREBOOT_BUILD_MONTH), RTC_CLK_MINUTE);
-	cmos_write(RTC_TO_BCD(COREBOOT_BUILD_YEAR), RTC_CLK_YEAR);
+	cmos_write(COREBOOT_BUILD_WEEKDAY_BCD + 1, RTC_CLK_DAYOFWEEK);
+	cmos_write(COREBOOT_BUILD_DAY_BCD, RTC_CLK_DAYOFMONTH);
+	cmos_write(COREBOOT_BUILD_MONTH_BCD, RTC_CLK_MINUTE);
+	cmos_write(COREBOOT_BUILD_YEAR_BCD, RTC_CLK_YEAR);
 	if (has_century) cmos_write(0x20, RTC_CLK_ALTCENTURY);
 }
 
diff --git a/src/include/pc80/mc146818rtc.h b/src/include/pc80/mc146818rtc.h
index f0d58d8..31322ea 100644
--- a/src/include/pc80/mc146818rtc.h
+++ b/src/include/pc80/mc146818rtc.h
@@ -63,8 +63,6 @@
 # define RTC_24H 0x02		/* 24 hour mode - else hours bit 7 means pm */
 # define RTC_DST_EN 0x01	/* auto switch DST - works f. USA only */
 
-#define RTC_TO_BCD(value) (((value / 10) << 4) | (value % 10))
-
 /**********************************************************************/
 #define RTC_INTR_FLAGS	RTC_REG_C
 /* caution - cleared by read */




More information about the coreboot mailing list