cregit-Linux how code gets into the kernel

Release 4.18 arch/x86/xen/suspend.c

Directory: arch/x86/xen
// SPDX-License-Identifier: GPL-2.0
#include <linux/types.h>
#include <linux/tick.h>
#include <linux/percpu-defs.h>

#include <xen/xen.h>
#include <xen/interface/xen.h>
#include <xen/grant_table.h>
#include <xen/events.h>

#include <asm/cpufeatures.h>
#include <asm/msr-index.h>
#include <asm/xen/hypercall.h>
#include <asm/xen/page.h>
#include <asm/fixmap.h>

#include "xen-ops.h"
#include "mmu.h"
#include "pmu.h"

static DEFINE_PER_CPU(u64, spec_ctrl);


void xen_arch_pre_suspend(void) { xen_save_time_memory_area(); if (xen_pv_domain()) xen_pv_pre_suspend(); }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel1583.33%150.00%
Joao Martins316.67%150.00%
Total18100.00%2100.00%


void xen_arch_post_suspend(int cancelled) { if (xen_pv_domain()) xen_pv_post_suspend(cancelled); else xen_hvm_post_suspend(cancelled); xen_restore_time_memory_area(); }

Contributors

PersonTokensPropCommitsCommitProp
David Vrabel2385.19%133.33%
Joao Martins311.11%133.33%
Jeremy Fitzhardinge13.70%133.33%
Total27100.00%3100.00%


static void xen_vcpu_notify_restore(void *data) { if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl)); /* Boot processor notified via generic timekeeping_resume() */ if (smp_processor_id() == 0) return; tick_resume_local(); }

Contributors

PersonTokensPropCommitsCommitProp
Ian Campbell2047.62%125.00%
Juergen Gross2047.62%125.00%
Thomas Gleixner24.76%250.00%
Total42100.00%4100.00%


static void xen_vcpu_notify_suspend(void *data) { u64 tmp; tick_suspend_local(); if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) { rdmsrl(MSR_IA32_SPEC_CTRL, tmp); this_cpu_write(spec_ctrl, tmp); wrmsrl(MSR_IA32_SPEC_CTRL, 0); } }

Contributors

PersonTokensPropCommitsCommitProp
Juergen Gross3673.47%150.00%
Boris Ostrovsky1326.53%150.00%
Total49100.00%2100.00%


void xen_arch_resume(void) { int cpu; on_each_cpu(xen_vcpu_notify_restore, NULL, 1); for_each_online_cpu(cpu) xen_pmu_init(cpu); }

Contributors

PersonTokensPropCommitsCommitProp
Boris Ostrovsky1242.86%120.00%
Ian Campbell828.57%240.00%
Isaku Yamahata725.00%120.00%
Thomas Gleixner13.57%120.00%
Total28100.00%5100.00%


void xen_arch_suspend(void) { int cpu; for_each_online_cpu(cpu) xen_pmu_finish(cpu); on_each_cpu(xen_vcpu_notify_suspend, NULL, 1); }

Contributors

PersonTokensPropCommitsCommitProp
Boris Ostrovsky28100.00%2100.00%
Total28100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Juergen Gross7329.67%16.25%
Boris Ostrovsky5622.76%318.75%
David Vrabel3815.45%16.25%
Ian Campbell3012.20%212.50%
Jeremy Fitzhardinge2510.16%212.50%
Isaku Yamahata72.85%16.25%
Joao Martins62.44%16.25%
Thomas Gleixner41.63%212.50%
Andrew Morton31.22%16.25%
Ingo Molnar31.22%16.25%
Greg Kroah-Hartman10.41%16.25%
Total246100.00%16100.00%
Directory: arch/x86/xen
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.