Lines Matching defs:vr
557 get_mtrr_var_range(unsigned int index, struct mtrr_var_range *vr)
559 rdmsr(MTRRphysBase_MSR(index), vr->base_lo, vr->base_hi);
560 rdmsr(MTRRphysMask_MSR(index), vr->mask_lo, vr->mask_hi);
567 struct mtrr_var_range *vr;
569 vr = mtrr_state.var_ranges;
571 vr[index].base_lo = base_lo;
572 vr[index].base_hi = base_hi;
573 vr[index].mask_lo = mask_lo;
574 vr[index].mask_hi = mask_hi;
884 static bool set_mtrr_var_ranges(unsigned int index, struct mtrr_var_range *vr)
890 if ((vr->base_lo & ~MTRR_PHYSBASE_RSVD) != (lo & ~MTRR_PHYSBASE_RSVD)
891 || (vr->base_hi & ~phys_hi_rsvd) != (hi & ~phys_hi_rsvd)) {
893 mtrr_wrmsr(MTRRphysBase_MSR(index), vr->base_lo, vr->base_hi);
899 if ((vr->mask_lo & ~MTRR_PHYSMASK_RSVD) != (lo & ~MTRR_PHYSMASK_RSVD)
900 || (vr->mask_hi & ~phys_hi_rsvd) != (hi & ~phys_hi_rsvd)) {
901 mtrr_wrmsr(MTRRphysMask_MSR(index), vr->mask_lo, vr->mask_hi);
991 struct mtrr_var_range *vr;
993 vr = &mtrr_state.var_ranges[reg];
1004 memset(vr, 0, sizeof(struct mtrr_var_range));
1006 vr->base_lo = base << PAGE_SHIFT | type;
1007 vr->base_hi = (base >> (32 - PAGE_SHIFT)) & ~phys_hi_rsvd;
1008 vr->mask_lo = -size << PAGE_SHIFT | MTRR_PHYSMASK_V;
1009 vr->mask_hi = (-size >> (32 - PAGE_SHIFT)) & ~phys_hi_rsvd;
1011 mtrr_wrmsr(MTRRphysBase_MSR(reg), vr->base_lo, vr->base_hi);
1012 mtrr_wrmsr(MTRRphysMask_MSR(reg), vr->mask_lo, vr->mask_hi);