提交 180b700d 编写于 作者: B bellard

clock year fix for sparc (Blue Swirl)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1963 c046a42c-6fe2-441c-8c8c-71466251a162
上级 55e4f664
...@@ -332,7 +332,10 @@ void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val) ...@@ -332,7 +332,10 @@ void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val)
tmp = fromBCD(val); tmp = fromBCD(val);
if (tmp >= 0 && tmp <= 99) { if (tmp >= 0 && tmp <= 99) {
get_time(NVRAM, &tm); get_time(NVRAM, &tm);
tm.tm_year = fromBCD(val); if (NVRAM->type == 8)
tm.tm_year = fromBCD(val) + 68; // Base year is 1968
else
tm.tm_year = fromBCD(val);
set_time(NVRAM, &tm); set_time(NVRAM, &tm);
} }
break; break;
...@@ -421,7 +424,10 @@ uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr) ...@@ -421,7 +424,10 @@ uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr)
case 0x1FFF: case 0x1FFF:
/* year */ /* year */
get_time(NVRAM, &tm); get_time(NVRAM, &tm);
retval = toBCD(tm.tm_year); if (NVRAM->type == 8)
retval = toBCD(tm.tm_year - 68); // Base year is 1968
else
retval = toBCD(tm.tm_year);
break; break;
default: default:
/* Check lock registers state */ /* Check lock registers state */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册