diff options
author | peter <peter@FreeBSD.org> | 2001-11-12 09:29:05 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-11-12 09:29:05 +0000 |
commit | 8425582821f33d07a806b8ce4a831cfe0ca8d95b (patch) | |
tree | bcb0afe79619a1ab7622d5e7a786dc4fd83f295f /sys/ia64 | |
parent | 63c937a8f7fdfb8319a7f2c93bf0d469457dc77b (diff) | |
download | FreeBSD-src-8425582821f33d07a806b8ce4a831cfe0ca8d95b.zip FreeBSD-src-8425582821f33d07a806b8ce4a831cfe0ca8d95b.tar.gz |
Implement eficlock_set() to set hardware clock.
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/eficlock.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/ia64/ia64/eficlock.c b/sys/ia64/ia64/eficlock.c index bf10549..a7fc591 100644 --- a/sys/ia64/ia64/eficlock.c +++ b/sys/ia64/ia64/eficlock.c @@ -65,7 +65,19 @@ eficlock_get(kobj_t dev, time_t base, struct clocktime *ct) static void eficlock_set(kobj_t dev, struct clocktime *ct) { - printf("eficlock: TODR not set\n"); + EFI_TIME time; + EFI_STATUS status; + + ia64_efi_runtime->GetTime(&time, 0); + time.Second = ct->sec; + time.Minute = ct->min; + time.Hour = ct->hour; + time.Day = ct->day; + time.Month = ct->mon; + time.Year = ct->year + 1900; + status = ia64_efi_runtime->SetTime(&time); + if (status != EFI_SUCCESS) + printf("eficlock_set: could not set TODR\n"); } static int |