/* set_fixed_ranges - checks & updates the fixed-range MTRRs if they differ from the saved set @frs: pointer to fixed-range MTRR values, saved by get_fixed_ranges()  */
static int set_fixed_ranges(mtrr_type *frs)
/* set_fixed_ranges - checks & updates the fixed-range MTRRs if they differ from the saved set @frs: pointer to fixed-range MTRR values, saved by get_fixed_ranges()  */
static int set_fixed_ranges(mtrr_type *frs)
{
	unsigned long long *saved = (unsigned long long *)frs;
	bool changed = false;
	int block = -1, range;
	k8_check_syscfg_dram_mod_en();
	while (fixed_range_blocks[++block].ranges) {
		for (range = 0; range < fixed_range_blocks[block].ranges; range++)
			set_fixed_range(fixed_range_blocks[block].base_msr + range,
					&changed, (unsigned int *)saved++);
	}
	return changed;
}