MCPcopy Create free account
hub / github.com/F-Stack/f-stack / lapic_timer_deadline

Function lapic_timer_deadline

freebsd/x86/x86/local_apic.c:1398–1413  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1396}
1397
1398static void
1399lapic_timer_deadline(struct lapic *la)
1400{
1401 uint32_t value;
1402
1403 value = la->lvt_timer_base;
1404 value &= ~(APIC_LVTT_TM | APIC_LVT_M);
1405 value |= APIC_LVTT_TM_TSCDLT;
1406 if (value != la->lvt_timer_last) {
1407 la->lvt_timer_last = value;
1408 lapic_write32_nofence(LAPIC_LVT_TIMER, value);
1409 if (!x2apic_mode)
1410 mfence();
1411 }
1412 wrmsr(MSR_TSC_DEADLINE, la->la_timer_period + rdtsc());
1413}
1414
1415static void
1416lapic_timer_stop(struct lapic *la)

Callers 2

native_lapic_setupFunction · 0.85
lapic_et_startFunction · 0.85

Calls 4

lapic_write32_nofenceFunction · 0.85
mfenceFunction · 0.50
wrmsrFunction · 0.50
rdtscFunction · 0.50

Tested by

no test coverage detected