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

-gerrit

commit cb4c6ef677673c568fd61a584306f3782cbad654
Author: Zheng Bao <fishba...@gmail.com>
Date:   Thu Nov 8 15:30:32 2012 +0800

    rtc: Command date in NetBSD and Darwin doesn't take hyphen
    
    By default, date pads numeric fields with zeroes. So add "0x" to
    convert it to BSD directly.
    
    Change-Id: Icd44312acf01b8232f1da1fbaa70630d09007b40
    Signed-off-by: Zheng Bao <zheng....@amd.com>
    Signed-off-by: zbao <fishba...@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 b728199..89fe9c6 100644
--- a/src/drivers/pc80/mc146818rtc.c
+++ b/src/drivers/pc80/mc146818rtc.c
@@ -84,10 +84,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 61b522c..a916761 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 */

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to