ltr
ltr(loader_tss);
ltr(tss_fw_seg);
ltr(gsel_tss);
ltr(gsel_tss);
ltr(GSEL(GPROC0_SEL, SEL_KPL));
ltr(GSEL(GPROC0_SEL, SEL_KPL));
ltr(GSEL(GPROC0_SEL, SEL_KPL));
static u64 e1000_ltr2ns(u16 ltr)
value = ltr & E1000_LTRV_VALUE_MASK;
scale = (ltr & E1000_LTRV_SCALE_MASK) >> E1000_LTRV_SCALE_SHIFT;
uint32_t cntl, ppd0, ltr;
ltr = NTB_LTR_ACTIVE_REQMNT | NTB_LTR_ACTIVE_VAL | NTB_LTR_ACTIVE_LATSCALE;
ltr = (ltr << NTB_LTR_NS_SHIFT) | ltr;
intel_ntb_reg_write(4, XEON_GEN4_REG_EXT_LTR_ACTIVE, ltr);
ltr = NTB_LTR_IDLE_VAL | NTB_LTR_IDLE_LATSCALE | NTB_LTR_IDLE_REQMNT;
ltr = (ltr << NTB_LTR_NS_SHIFT) | ltr;
intel_ntb_reg_write(4, XEON_GEN4_REG_EXT_LTR_IDLE, ltr);
ltr(gsel_tss);
ltr(gsel_tss);
ltr(GSEL(GPROC0_SEL, SEL_KPL));
ltr(gsel_tss);
ltr(GSEL(GPROC0_SEL, SEL_KPL));
int64_t ltr, ltw;
ltr = time_adjtime;
atv.tv_sec = ltr / 1000000;
atv.tv_usec = ltr % 1000000;