summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/ia64/ia64/sscclock.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/sys/ia64/ia64/sscclock.c b/sys/ia64/ia64/sscclock.c
index 813b63f..f25b5f3 100644
--- a/sys/ia64/ia64/sscclock.c
+++ b/sys/ia64/ia64/sscclock.c
@@ -35,17 +35,14 @@
#include <machine/clockvar.h>
struct ssc_time {
- u_int16_t year;
- u_int8_t month;
- u_int8_t day;
- u_int8_t hour;
- u_int8_t minute;
- u_int8_t second;
- u_int8_t pad1;
- u_int32_t nanosecond;
- int16_t timezone;
- u_int8_t daylight;
- u_int8_t pad2;
+ int year;
+ int month;
+ int day;
+ int hour;
+ int minute;
+ int second;
+ int msec;
+ int wday;
};
#define SSC_GET_RTC 65
@@ -73,7 +70,6 @@ sscclock_init(device_t dev)
static void
sscclock_get(device_t dev, time_t base, struct clocktime *ct)
{
-#if 0
struct ssc_time time;
ssc(ia64_tpa((vm_offset_t) &time), 0, 0, 0, SSC_GET_RTC);
@@ -81,13 +77,10 @@ sscclock_get(device_t dev, time_t base, struct clocktime *ct)
ct->sec = time.second;
ct->min = time.minute;
ct->hour = time.hour;
- ct->dow = 0; /* XXX */
+ ct->dow = time.wday;
ct->day = time.day;
- ct->mon = time.month;
+ ct->mon = time.month + 1;
ct->year = time.year;
-#else
- bzero(ct, sizeof(struct clocktime));
-#endif
}
/*
@@ -96,6 +89,7 @@ sscclock_get(device_t dev, time_t base, struct clocktime *ct)
static void
sscclock_set(device_t dev, struct clocktime *ct)
{
+ printf("sscclock: TODR not set\n");
}
static int
OpenPOWER on IntegriCloud