cregit-Linux how code gets into the kernel

Release 4.14 arch/x86/kernel/x86_init.c

Directory: arch/x86/kernel
/*
 * Copyright (C) 2009 Thomas Gleixner <tglx@linutronix.de>
 *
 *  For licencing details see kernel-base/COPYING
 */
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/export.h>
#include <linux/pci.h>

#include <asm/bios_ebda.h>
#include <asm/paravirt.h>
#include <asm/pci_x86.h>
#include <asm/mpspec.h>
#include <asm/setup.h>
#include <asm/apic.h>
#include <asm/e820/api.h>
#include <asm/time.h>
#include <asm/irq.h>
#include <asm/io_apic.h>
#include <asm/hpet.h>
#include <asm/pat.h>
#include <asm/tsc.h>
#include <asm/iommu.h>
#include <asm/mach_traps.h>


void x86_init_noop(void) { }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Gleixner6100.00%1100.00%
Total6100.00%1100.00%


void __init x86_init_uint_noop(unsigned int unused) { }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Gleixner9100.00%1100.00%
Total9100.00%1100.00%


int __init iommu_init_noop(void) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
FUJITA Tomonori11100.00%1100.00%
Total11100.00%1100.00%


void iommu_shutdown_noop(void) { }

Contributors

PersonTokensPropCommitsCommitProp
FUJITA Tomonori6100.00%1100.00%
Total6100.00%1100.00%

/* * The platform setup functions are preset with the default functions * for standard PC hardware. */ struct x86_init_ops x86_init __initdata = { .resources = { .probe_roms = probe_roms, .reserve_resources = reserve_standard_io_resources, .memory_setup = e820__memory_setup_default, }, .mpparse = { .mpc_record = x86_init_uint_noop, .setup_ioapic_ids = x86_init_noop, .mpc_apic_id = default_mpc_apic_id, .smp_read_mpc_oem = default_smp_read_mpc_oem, .mpc_oem_bus_info = default_mpc_oem_bus_info, .find_smp_config = default_find_smp_config, .get_smp_config = default_get_smp_config, }, .irqs = { .pre_vector_init = init_ISA_irqs, .intr_init = native_init_IRQ, .trap_init = x86_init_noop, }, .oem = { .arch_setup = x86_init_noop, .banner = default_banner, }, .paging = { .pagetable_init = native_pagetable_init, }, .timers = { .setup_percpu_clockev = setup_boot_APIC_clock, .timer_init = hpet_time_init, .wallclock_init = x86_init_noop, }, .iommu = { .iommu_init = iommu_init_noop, }, .pci = { .init = x86_default_pci_init, .init_irq = x86_default_pci_init_irq, .fixup_irqs = x86_default_pci_fixup_irqs, }, }; struct x86_cpuinit_ops x86_cpuinit = { .early_percpu_clock_init = x86_init_noop, .setup_percpu_clockev = setup_secondary_APIC_clock, };
static void default_nmi_init(void) { }

Contributors

PersonTokensPropCommitsCommitProp
Russ Anderson7100.00%1100.00%
Total7100.00%1100.00%

; struct x86_platform_ops x86_platform __ro_after_init = { .calibrate_cpu = native_calibrate_cpu, .calibrate_tsc = native_calibrate_tsc, .get_wallclock = mach_get_cmos_time, .set_wallclock = mach_set_rtc_mmss, .iommu_shutdown = iommu_shutdown_noop, .is_untracked_pat_range = is_ISA_range, .nmi_init = default_nmi_init, .get_nmi_reason = default_get_nmi_reason, .save_sched_clock_state = tsc_save_sched_clock_state, .restore_sched_clock_state = tsc_restore_sched_clock_state, }; EXPORT_SYMBOL_GPL(x86_platform); #if defined(CONFIG_PCI_MSI) struct x86_msi_ops x86_msi __ro_after_init = { .setup_msi_irqs = native_setup_msi_irqs, .teardown_msi_irq = native_teardown_msi_irq, .teardown_msi_irqs = default_teardown_msi_irqs, .restore_msi_irqs = default_restore_msi_irqs, }; /* MSI arch specific hooks */
int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { return x86_msi.setup_msi_irqs(dev, nvec, type); }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Petazzoni28100.00%1100.00%
Total28100.00%1100.00%


void arch_teardown_msi_irqs(struct pci_dev *dev) { x86_msi.teardown_msi_irqs(dev); }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Petazzoni17100.00%1100.00%
Total17100.00%1100.00%


void arch_teardown_msi_irq(unsigned int irq) { x86_msi.teardown_msi_irq(irq); }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Petazzoni16100.00%1100.00%
Total16100.00%1100.00%


void arch_restore_msi_irqs(struct pci_dev *dev) { x86_msi.restore_msi_irqs(dev); }

Contributors

PersonTokensPropCommitsCommitProp
Thomas Petazzoni17100.00%1100.00%
Total17100.00%1100.00%

#endif struct x86_io_apic_ops x86_io_apic_ops __ro_after_init = { .read = native_io_apic_read, .disable = native_disable_io_apic, };

Overall Contributors

PersonTokensPropCommitsCommitProp
Thomas Gleixner21645.96%2447.06%
Thomas Petazzoni8718.51%11.96%
FUJITA Tomonori357.45%35.88%
Stefano Stabellini245.11%11.96%
Konrad Rzeszutek Wilk214.47%23.92%
Feng Tang173.62%35.88%
Russ Anderson132.77%11.96%
H. Peter Anvin102.13%23.92%
Marcelo Tosatti91.91%11.96%
Jacob jun Pan81.70%11.96%
Joerg Roedel61.28%23.92%
Igor Mammedov51.06%11.96%
Len Brown51.06%11.96%
Kees Cook30.64%11.96%
Jack Steiner30.64%11.96%
Linus Torvalds20.43%11.96%
Ingo Molnar20.43%23.92%
Attilio Rao20.43%11.96%
Paul Gortmaker10.21%11.96%
Dan J Williams10.21%11.96%
Total470100.00%51100.00%
Directory: arch/x86/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.