cregit-Linux how code gets into the kernel

Release 4.7 arch/powerpc/platforms/pseries/kexec.c

/*
 *  Copyright 2006 Michael Ellerman, IBM Corporation
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 */

#include <linux/kernel.h>
#include <linux/interrupt.h>

#include <asm/machdep.h>
#include <asm/page.h>
#include <asm/firmware.h>
#include <asm/kexec.h>
#include <asm/mpic.h>
#include <asm/xics.h>
#include <asm/smp.h>
#include <asm/plpar_wrappers.h>

#include "pseries.h"


static void pseries_kexec_cpu_down(int crash_shutdown, int secondary) { /* Don't risk a hypervisor call if we're crashing */ if (firmware_has_feature(FW_FEATURE_SPLPAR) && !crash_shutdown) { int ret; int cpu = smp_processor_id(); int hwcpu = hard_smp_processor_id(); if (get_lppaca()->dtl_enable_mask) { ret = unregister_dtl(hwcpu); if (ret) { pr_err("WARNING: DTL deregistration for cpu " "%d (hw %d) failed with %d\n", cpu, hwcpu, ret); } } ret = unregister_slb_shadow(hwcpu); if (ret) { pr_err("WARNING: SLB shadow buffer deregistration " "for cpu %d (hw %d) failed with %d\n", cpu, hwcpu, ret); } ret = unregister_vpa(hwcpu); if (ret) { pr_err("WARNING: VPA deregistration for cpu %d " "(hw %d) failed with %d\n", cpu, hwcpu, ret); } } }

Contributors

PersonTokensPropCommitsCommitProp
anton blanchardanton blanchard7963.71%375.00%
michael ellermanmichael ellerman4536.29%125.00%
Total124100.00%4100.00%


static void pseries_kexec_cpu_down_mpic(int crash_shutdown, int secondary) { pseries_kexec_cpu_down(crash_shutdown, secondary); mpic_teardown_this_cpu(secondary); }

Contributors

PersonTokensPropCommitsCommitProp
michael ellermanmichael ellerman24100.00%1100.00%
Total24100.00%1100.00%


void __init setup_kexec_cpu_down_mpic(void) { ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_mpic; }

Contributors

PersonTokensPropCommitsCommitProp
michael ellermanmichael ellerman14100.00%1100.00%
Total14100.00%1100.00%


static void pseries_kexec_cpu_down_xics(int crash_shutdown, int secondary) { pseries_kexec_cpu_down(crash_shutdown, secondary); xics_kexec_teardown_cpu(secondary); }

Contributors

PersonTokensPropCommitsCommitProp
michael ellermanmichael ellerman2395.83%150.00%
nathan fontenotnathan fontenot14.17%150.00%
Total24100.00%2100.00%


void __init setup_kexec_cpu_down_xics(void) { ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_xics; }

Contributors

PersonTokensPropCommitsCommitProp
michael ellermanmichael ellerman14100.00%1100.00%
Total14100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
michael ellermanmichael ellerman14260.68%112.50%
anton blanchardanton blanchard7933.76%337.50%
benjamin herrenschmidtbenjamin herrenschmidt83.42%112.50%
paul mackerraspaul mackerras20.85%112.50%
deepthi dharwardeepthi dharwar20.85%112.50%
nathan fontenotnathan fontenot10.43%112.50%
Total234100.00%8100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}