Symbol: vrtc
usr/src/uts/intel/io/vmm/io/vrtc.c
1015
const hrtime_t since_last = now - vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
1016
vrtc->last_period = vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
1017
vrtc->last_period += ROUNDDOWN(since_last, period_new);
usr/src/uts/intel/io/vmm/io/vrtc.c
1023
vrtc->last_period = now;
usr/src/uts/intel/io/vmm/io/vrtc.c
1031
vrtc->rtcdev.reg_a = newval & ~RTCSA_TUP;
usr/src/uts/intel/io/vmm/io/vrtc.c
1033
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1039
struct vrtc *vrtc = vm_rtc(vm);
usr/src/uts/intel/io/vmm/io/vrtc.c
1049
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1050
vrtc->base_rtctime = ts->tv_sec;
usr/src/uts/intel/io/vmm/io/vrtc.c
1051
vrtc->base_clock = gethrtime() - ts->tv_nsec;
usr/src/uts/intel/io/vmm/io/vrtc.c
1052
vrtc->last_period = vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
1053
if (!vm_is_paused(vrtc->vm)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
1054
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1056
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1064
struct vrtc *vrtc = vm_rtc(vm);
usr/src/uts/intel/io/vmm/io/vrtc.c
1067
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1068
ts->tv_sec = vrtc_curtime(vrtc, NULL, &phase);
usr/src/uts/intel/io/vmm/io/vrtc.c
1070
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1076
struct vrtc *vrtc = vm_rtc(vm);
usr/src/uts/intel/io/vmm/io/vrtc.c
1077
uint8_t *rtc_raw = (uint8_t *)&vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1089
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1091
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1099
struct vrtc *vrtc = vm_rtc(vm);
usr/src/uts/intel/io/vmm/io/vrtc.c
1100
const uint8_t *rtc_raw = (uint8_t *)&vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1107
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1109
vrtc_update(vrtc, offset);
usr/src/uts/intel/io/vmm/io/vrtc.c
1112
vrtc_time_to_cmos(vrtc, false);
usr/src/uts/intel/io/vmm/io/vrtc.c
1116
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1125
struct vrtc *vrtc = arg;
usr/src/uts/intel/io/vmm/io/vrtc.c
1136
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1137
vrtc->addr = *val & 0x7f;
usr/src/uts/intel/io/vmm/io/vrtc.c
1138
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1144
vrtc_read(struct vrtc *vrtc, uint8_t offset)
usr/src/uts/intel/io/vmm/io/vrtc.c
1146
const uint8_t *rtc_raw = (uint8_t *)&vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1148
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
1153
return (vrtc_regc_read(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
1164
vrtc_write(struct vrtc *vrtc, uint8_t offset, uint8_t val)
usr/src/uts/intel/io/vmm/io/vrtc.c
1166
uint8_t *rtc_raw = (uint8_t *)&vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1168
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
1174
vrtc_rega_write(vrtc, val);
usr/src/uts/intel/io/vmm/io/vrtc.c
1177
vrtc_regb_write(vrtc, val);
usr/src/uts/intel/io/vmm/io/vrtc.c
1201
if (rtc_field_datetime(offset) && !rtc_halted(vrtc)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
1202
vrtc->base_rtctime = vrtc_cmos_to_secs(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1211
struct vrtc *vrtc = arg;
usr/src/uts/intel/io/vmm/io/vrtc.c
1218
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1219
const uint8_t offset = vrtc->addr;
usr/src/uts/intel/io/vmm/io/vrtc.c
1224
vrtc_update(vrtc, offset);
usr/src/uts/intel/io/vmm/io/vrtc.c
1235
vrtc_time_to_cmos(vrtc, false);
usr/src/uts/intel/io/vmm/io/vrtc.c
1239
*val = vrtc_read(vrtc, offset);
usr/src/uts/intel/io/vmm/io/vrtc.c
1241
ret = vrtc_write(vrtc, offset, *val);
usr/src/uts/intel/io/vmm/io/vrtc.c
1244
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1249
vrtc_reset(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
1251
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1253
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1255
vrtc_regb_write(vrtc, rtc->reg_b & ~(RTCSB_INTR_MASK | RTCSB_SQWE));
usr/src/uts/intel/io/vmm/io/vrtc.c
1257
ASSERT(!callout_active(&vrtc->callout));
usr/src/uts/intel/io/vmm/io/vrtc.c
1259
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1262
struct vrtc *
usr/src/uts/intel/io/vmm/io/vrtc.c
1265
struct vrtc *vrtc;
usr/src/uts/intel/io/vmm/io/vrtc.c
1268
vrtc = kmem_zalloc(sizeof (struct vrtc), KM_SLEEP);
usr/src/uts/intel/io/vmm/io/vrtc.c
1269
vrtc->vm = vm;
usr/src/uts/intel/io/vmm/io/vrtc.c
1270
mutex_init(&vrtc->lock, NULL, MUTEX_ADAPTIVE, NULL);
usr/src/uts/intel/io/vmm/io/vrtc.c
1271
callout_init(&vrtc->callout, 1);
usr/src/uts/intel/io/vmm/io/vrtc.c
1274
rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
1281
vrtc->addr = RTC_STATUSD;
usr/src/uts/intel/io/vmm/io/vrtc.c
1283
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1285
vrtc->base_rtctime = 0;
usr/src/uts/intel/io/vmm/io/vrtc.c
1286
vrtc->base_clock = gethrtime();
usr/src/uts/intel/io/vmm/io/vrtc.c
1287
vrtc->last_period = vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
1288
vrtc_time_to_cmos(vrtc, false);
usr/src/uts/intel/io/vmm/io/vrtc.c
1289
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1291
return (vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1295
vrtc_cleanup(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
1297
callout_drain(&vrtc->callout);
usr/src/uts/intel/io/vmm/io/vrtc.c
1298
mutex_destroy(&vrtc->lock);
usr/src/uts/intel/io/vmm/io/vrtc.c
1299
kmem_free(vrtc, sizeof (*vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
1303
vrtc_localize_resources(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
1305
vmm_glue_callout_localize(&vrtc->callout);
usr/src/uts/intel/io/vmm/io/vrtc.c
1309
vrtc_pause(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
1311
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1312
callout_stop(&vrtc->callout);
usr/src/uts/intel/io/vmm/io/vrtc.c
1313
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1317
vrtc_resume(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
1319
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1320
ASSERT(!callout_active(&vrtc->callout));
usr/src/uts/intel/io/vmm/io/vrtc.c
1321
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1322
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1332
struct vrtc *vrtc = datap;
usr/src/uts/intel/io/vmm/io/vrtc.c
1335
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1337
out->vr_addr = vrtc->addr;
usr/src/uts/intel/io/vmm/io/vrtc.c
1338
out->vr_base_clock = vm_normalize_hrtime(vrtc->vm, vrtc->base_clock);
usr/src/uts/intel/io/vmm/io/vrtc.c
1339
out->vr_last_period = vm_normalize_hrtime(vrtc->vm, vrtc->last_period);
usr/src/uts/intel/io/vmm/io/vrtc.c
1340
bcopy(&vrtc->rtcdev, out->vr_content, sizeof (out->vr_content));
usr/src/uts/intel/io/vmm/io/vrtc.c
1342
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1354
struct vrtc *vrtc = datap;
usr/src/uts/intel/io/vmm/io/vrtc.c
1358
vm_denormalize_hrtime(vrtc->vm, src->vr_base_clock);
usr/src/uts/intel/io/vmm/io/vrtc.c
1360
vm_denormalize_hrtime(vrtc->vm, src->vr_last_period);
usr/src/uts/intel/io/vmm/io/vrtc.c
1377
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1379
vrtc->base_clock = base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
138
#define VRTC_LOCK(vrtc) mutex_enter(&((vrtc)->lock))
usr/src/uts/intel/io/vmm/io/vrtc.c
1380
bcopy(src->vr_content, &vrtc->rtcdev, sizeof (vrtc->rtcdev));
usr/src/uts/intel/io/vmm/io/vrtc.c
1381
vrtc->addr = src->vr_addr;
usr/src/uts/intel/io/vmm/io/vrtc.c
1383
vrtc->rtcdev.reg_a &= ~RTCSA_TUP;
usr/src/uts/intel/io/vmm/io/vrtc.c
1385
vrtc->rtcdev.reg_c &= RTCSC_MASK;
usr/src/uts/intel/io/vmm/io/vrtc.c
1386
vrtc->rtcdev.reg_d = RTCSD_PWR;
usr/src/uts/intel/io/vmm/io/vrtc.c
1389
vrtc->base_rtctime = vrtc_cmos_to_secs(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
139
#define VRTC_UNLOCK(vrtc) mutex_exit(&((vrtc)->lock))
usr/src/uts/intel/io/vmm/io/vrtc.c
1391
vrtc->base_clock = base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
1392
vrtc->last_period = last_period;
usr/src/uts/intel/io/vmm/io/vrtc.c
1394
if (!vm_is_paused(vrtc->vm)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
1395
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
1398
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
140
#define VRTC_LOCKED(vrtc) MUTEX_HELD(&((vrtc)->lock))
usr/src/uts/intel/io/vmm/io/vrtc.c
172
static void vrtc_regc_update(struct vrtc *, uint8_t);
usr/src/uts/intel/io/vmm/io/vrtc.c
173
static void vrtc_callout_reschedule(struct vrtc *);
usr/src/uts/intel/io/vmm/io/vrtc.c
208
rtc_halted(const struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
210
return ((vrtc->rtcdev.reg_b & RTCSB_HALT) != 0);
usr/src/uts/intel/io/vmm/io/vrtc.c
249
vrtc_update_enabled(const struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
257
if (!rega_divider_en(vrtc->rtcdev.reg_a))
usr/src/uts/intel/io/vmm/io/vrtc.c
260
if (rtc_halted(vrtc))
usr/src/uts/intel/io/vmm/io/vrtc.c
263
if (vrtc->base_rtctime == VRTC_BROKEN_TIME)
usr/src/uts/intel/io/vmm/io/vrtc.c
275
vrtc_curtime(struct vrtc *vrtc, hrtime_t *basep, hrtime_t *phasep)
usr/src/uts/intel/io/vmm/io/vrtc.c
277
time_t t = vrtc->base_rtctime;
usr/src/uts/intel/io/vmm/io/vrtc.c
278
hrtime_t base = vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
281
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
283
if (vrtc_update_enabled(vrtc)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
284
const hrtime_t delta = gethrtime() - vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
331
vrtc_time_to_cmos(struct vrtc *vrtc, bool force_update)
usr/src/uts/intel/io/vmm/io/vrtc.c
333
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
335
.tv_sec = vrtc->base_rtctime,
usr/src/uts/intel/io/vmm/io/vrtc.c
339
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
341
if (vrtc->base_rtctime < 0) {
usr/src/uts/intel/io/vmm/io/vrtc.c
342
ASSERT3S(vrtc->base_rtctime, ==, VRTC_BROKEN_TIME);
usr/src/uts/intel/io/vmm/io/vrtc.c
351
if (rtc_halted(vrtc) && !force_update) {
usr/src/uts/intel/io/vmm/io/vrtc.c
480
vrtc_alarm_valid(const struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
482
const struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
486
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
534
vrtc_cmos_to_secs(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
536
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
540
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
613
vrtc_periodic_update(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
615
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
617
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
632
hrtime_t since_last = gethrtime() - vrtc->last_period;
usr/src/uts/intel/io/vmm/io/vrtc.c
634
vrtc_regc_update(vrtc, RTCIR_PERIOD);
usr/src/uts/intel/io/vmm/io/vrtc.c
635
vrtc->last_period += ROUNDDOWN(since_last, period);
usr/src/uts/intel/io/vmm/io/vrtc.c
648
vrtc_update(struct vrtc *vrtc, uint8_t off)
usr/src/uts/intel/io/vmm/io/vrtc.c
650
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
652
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
671
vrtc_periodic_update(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
673
if (vrtc->base_rtctime == VRTC_BROKEN_TIME) {
usr/src/uts/intel/io/vmm/io/vrtc.c
687
const time_t newtime = vrtc_curtime(vrtc, &base_clock, NULL);
usr/src/uts/intel/io/vmm/io/vrtc.c
688
if (vrtc->base_rtctime >= newtime) {
usr/src/uts/intel/io/vmm/io/vrtc.c
692
vrtc->base_clock = base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
694
if (!vrtc_alarm_valid(vrtc) || (rtc->reg_c & RTCIR_ALARM) != 0) {
usr/src/uts/intel/io/vmm/io/vrtc.c
701
vrtc->base_rtctime = newtime;
usr/src/uts/intel/io/vmm/io/vrtc.c
702
} else if ((newtime - vrtc->base_rtctime) >= SEC_PER_DAY) {
usr/src/uts/intel/io/vmm/io/vrtc.c
709
vrtc_regc_update(vrtc, RTCIR_ALARM);
usr/src/uts/intel/io/vmm/io/vrtc.c
710
vrtc->base_rtctime = newtime;
usr/src/uts/intel/io/vmm/io/vrtc.c
724
vrtc->base_rtctime++;
usr/src/uts/intel/io/vmm/io/vrtc.c
725
vrtc_time_to_cmos(vrtc, false);
usr/src/uts/intel/io/vmm/io/vrtc.c
730
vrtc_regc_update(vrtc, RTCIR_ALARM);
usr/src/uts/intel/io/vmm/io/vrtc.c
737
vrtc->base_rtctime = newtime;
usr/src/uts/intel/io/vmm/io/vrtc.c
739
} while (vrtc->base_rtctime != newtime);
usr/src/uts/intel/io/vmm/io/vrtc.c
743
vrtc_regc_update(vrtc, RTCIR_UPDATE);
usr/src/uts/intel/io/vmm/io/vrtc.c
749
struct vrtc *vrtc = arg;
usr/src/uts/intel/io/vmm/io/vrtc.c
751
VRTC_LOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
752
if (callout_pending(&vrtc->callout)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
754
} else if (!callout_active(&vrtc->callout)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
757
callout_deactivate(&vrtc->callout);
usr/src/uts/intel/io/vmm/io/vrtc.c
760
vrtc_update(vrtc, RTC_INTR);
usr/src/uts/intel/io/vmm/io/vrtc.c
761
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
763
VRTC_UNLOCK(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
767
vrtc_callout_reschedule(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
769
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
771
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
782
if (period == 0 && vrtc_update_enabled(vrtc)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
804
const hrtime_t delta = gethrtime() + period - vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
806
ROUNDDOWN(delta, period) + vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
808
callout_reset_hrtime(&vrtc->callout, next, vrtc_callout_handler,
usr/src/uts/intel/io/vmm/io/vrtc.c
809
vrtc, C_ABSOLUTE);
usr/src/uts/intel/io/vmm/io/vrtc.c
811
if (callout_active(&vrtc->callout)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
812
callout_stop(&vrtc->callout);
usr/src/uts/intel/io/vmm/io/vrtc.c
830
vrtc_regc_update(struct vrtc *vrtc, uint8_t events)
usr/src/uts/intel/io/vmm/io/vrtc.c
832
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
834
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
856
(void) vatpic_pulse_irq(vrtc->vm, RTC_IRQ);
usr/src/uts/intel/io/vmm/io/vrtc.c
857
(void) vioapic_pulse_irq(vrtc->vm, RTC_IRQ);
usr/src/uts/intel/io/vmm/io/vrtc.c
868
vrtc_regc_read(struct vrtc *vrtc)
usr/src/uts/intel/io/vmm/io/vrtc.c
870
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
872
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
883
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
890
vrtc_regb_write(struct vrtc *vrtc, uint8_t newval)
usr/src/uts/intel/io/vmm/io/vrtc.c
892
struct rtcdev *rtc = &vrtc->rtcdev;
usr/src/uts/intel/io/vmm/io/vrtc.c
894
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
908
vrtc->base_rtctime = vrtc_cmos_to_secs(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
921
if (rega_divider_en(vrtc->rtcdev.reg_a)) {
usr/src/uts/intel/io/vmm/io/vrtc.c
923
gethrtime() - vrtc->base_clock;
usr/src/uts/intel/io/vmm/io/vrtc.c
926
vrtc->base_clock += delta / NANOSEC;
usr/src/uts/intel/io/vmm/io/vrtc.c
941
vrtc_update(vrtc, RTC_STATUSB);
usr/src/uts/intel/io/vmm/io/vrtc.c
942
vrtc_time_to_cmos(vrtc, true);
usr/src/uts/intel/io/vmm/io/vrtc.c
952
vrtc->base_rtctime = VRTC_BROKEN_TIME;
usr/src/uts/intel/io/vmm/io/vrtc.c
967
vrtc_regc_update(vrtc, 0);
usr/src/uts/intel/io/vmm/io/vrtc.c
970
vrtc_callout_reschedule(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
979
vrtc_rega_write(struct vrtc *vrtc, uint8_t newval)
usr/src/uts/intel/io/vmm/io/vrtc.c
981
ASSERT(VRTC_LOCKED(vrtc));
usr/src/uts/intel/io/vmm/io/vrtc.c
984
const uint8_t oldval = vrtc->rtcdev.reg_a;
usr/src/uts/intel/io/vmm/io/vrtc.c
994
vrtc->base_rtctime = vrtc_cmos_to_secs(vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.c
995
vrtc->base_clock = now - (NANOSEC / 2);
usr/src/uts/intel/io/vmm/io/vrtc.h
51
struct vrtc;
usr/src/uts/intel/io/vmm/io/vrtc.h
53
struct vrtc *vrtc_init(struct vm *vm);
usr/src/uts/intel/io/vmm/io/vrtc.h
54
void vrtc_cleanup(struct vrtc *vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.h
55
void vrtc_reset(struct vrtc *vrtc);
usr/src/uts/intel/io/vmm/io/vrtc.h
67
void vrtc_localize_resources(struct vrtc *);
usr/src/uts/intel/io/vmm/io/vrtc.h
68
void vrtc_pause(struct vrtc *);
usr/src/uts/intel/io/vmm/io/vrtc.h
69
void vrtc_resume(struct vrtc *);
usr/src/uts/intel/io/vmm/sys/vmm_kernel.h
302
struct vrtc *vm_rtc(struct vm *vm);
usr/src/uts/intel/io/vmm/vmm.c
221
struct vrtc *vrtc; /* (o) virtual RTC */
usr/src/uts/intel/io/vmm/vmm.c
2335
vrtc_localize_resources(vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
3740
struct vrtc *
usr/src/uts/intel/io/vmm/vmm.c
3744
return (vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
4075
return (vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
562
vm->vrtc = vrtc_init(vm);
usr/src/uts/intel/io/vmm/vmm.c
711
vrtc_cleanup(vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
713
vrtc_reset(vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
803
vrtc_pause(vm->vrtc);
usr/src/uts/intel/io/vmm/vmm.c
816
vrtc_resume(vm->vrtc);
usr/src/uts/intel/io/vmm/vmm_ioport.c
81
struct vrtc *rtc = vm_rtc(vm);