• Home
  • Raw
  • Download

Lines Matching refs:seg

181 static u64 fixed_mtrr_seg_unit_size(int seg)  in fixed_mtrr_seg_unit_size()  argument
183 return 8 << fixed_seg_table[seg].range_shift; in fixed_mtrr_seg_unit_size()
186 static bool fixed_msr_to_seg_unit(u32 msr, int *seg, int *unit) in fixed_msr_to_seg_unit() argument
190 *seg = 0; in fixed_msr_to_seg_unit()
194 *seg = 1; in fixed_msr_to_seg_unit()
200 *seg = 2; in fixed_msr_to_seg_unit()
212 static void fixed_mtrr_seg_unit_range(int seg, int unit, u64 *start, u64 *end) in fixed_mtrr_seg_unit_range() argument
214 struct fixed_mtrr_segment *mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_seg_unit_range()
215 u64 unit_size = fixed_mtrr_seg_unit_size(seg); in fixed_mtrr_seg_unit_range()
222 static int fixed_mtrr_seg_unit_range_index(int seg, int unit) in fixed_mtrr_seg_unit_range_index() argument
224 struct fixed_mtrr_segment *mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_seg_unit_range_index()
226 WARN_ON(mtrr_seg->start + unit * fixed_mtrr_seg_unit_size(seg) in fixed_mtrr_seg_unit_range_index()
233 static int fixed_mtrr_seg_end_range_index(int seg) in fixed_mtrr_seg_end_range_index() argument
235 struct fixed_mtrr_segment *mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_seg_end_range_index()
244 int seg, unit; in fixed_msr_to_range() local
246 if (!fixed_msr_to_seg_unit(msr, &seg, &unit)) in fixed_msr_to_range()
249 fixed_mtrr_seg_unit_range(seg, unit, start, end); in fixed_msr_to_range()
255 int seg, unit; in fixed_msr_to_range_index() local
257 if (!fixed_msr_to_seg_unit(msr, &seg, &unit)) in fixed_msr_to_range_index()
260 return fixed_mtrr_seg_unit_range_index(seg, unit); in fixed_msr_to_range_index()
266 int seg, seg_num = ARRAY_SIZE(fixed_seg_table); in fixed_mtrr_addr_to_seg() local
268 for (seg = 0; seg < seg_num; seg++) { in fixed_mtrr_addr_to_seg()
269 mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_addr_to_seg()
271 return seg; in fixed_mtrr_addr_to_seg()
277 static int fixed_mtrr_addr_seg_to_range_index(u64 addr, int seg) in fixed_mtrr_addr_seg_to_range_index() argument
282 mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_addr_seg_to_range_index()
288 static u64 fixed_mtrr_range_end_addr(int seg, int index) in fixed_mtrr_range_end_addr() argument
290 struct fixed_mtrr_segment *mtrr_seg = &fixed_seg_table[seg]; in fixed_mtrr_range_end_addr()
462 int seg; member
478 int seg, index; in mtrr_lookup_fixed_start() local
483 seg = fixed_mtrr_addr_to_seg(iter->start); in mtrr_lookup_fixed_start()
484 if (seg < 0) in mtrr_lookup_fixed_start()
488 index = fixed_mtrr_addr_seg_to_range_index(iter->start, seg); in mtrr_lookup_fixed_start()
490 iter->seg = seg; in mtrr_lookup_fixed_start()
545 if (fixed_mtrr_range_end_addr(iter->seg, iter->index) >= iter->end) { in mtrr_lookup_fixed_next()
558 if (iter->index > fixed_mtrr_seg_end_range_index(iter->seg)) in mtrr_lookup_fixed_next()
559 iter->seg++; in mtrr_lookup_fixed_next()