Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b820cc0c authored by Zachary Amsden's avatar Zachary Amsden Committed by Avi Kivity
Browse files

KVM: Separate timer intialization into an indepedent function

parent 0c6ddceb
Loading
Loading
Loading
Loading
+15 −8
Original line number Original line Diff line number Diff line
@@ -3118,9 +3118,22 @@ static struct notifier_block kvmclock_cpufreq_notifier_block = {
        .notifier_call  = kvmclock_cpufreq_notifier
        .notifier_call  = kvmclock_cpufreq_notifier
};
};


static void kvm_timer_init(void)
{
	int cpu;

	for_each_possible_cpu(cpu)
		per_cpu(cpu_tsc_khz, cpu) = tsc_khz;
	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
		tsc_khz_ref = tsc_khz;
		cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block,
					  CPUFREQ_TRANSITION_NOTIFIER);
	}
}

int kvm_arch_init(void *opaque)
int kvm_arch_init(void *opaque)
{
{
	int r, cpu;
	int r;
	struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
	struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;


	if (kvm_x86_ops) {
	if (kvm_x86_ops) {
@@ -3152,13 +3165,7 @@ int kvm_arch_init(void *opaque)
	kvm_mmu_set_mask_ptes(PT_USER_MASK, PT_ACCESSED_MASK,
	kvm_mmu_set_mask_ptes(PT_USER_MASK, PT_ACCESSED_MASK,
			PT_DIRTY_MASK, PT64_NX_MASK, 0);
			PT_DIRTY_MASK, PT64_NX_MASK, 0);


	for_each_possible_cpu(cpu)
	kvm_timer_init();
		per_cpu(cpu_tsc_khz, cpu) = tsc_khz;
	if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
		tsc_khz_ref = tsc_khz;
		cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block,
					  CPUFREQ_TRANSITION_NOTIFIER);
	}


	return 0;
	return 0;