cregit-Linux how code gets into the kernel

Release 4.14 arch/powerpc/platforms/85xx/qemu_e500.c

/*
 * Paravirt target for a generic QEMU e500 machine
 *
 * This is intended to be a flexible device-tree-driven platform, not fixed
 * to a particular piece of hardware or a particular spec of virtual hardware,
 * beyond the assumption of an e500-family CPU.  Some things are still hardcoded
 * here, such as MPIC, but this is a limitation of the current code rather than
 * an interface contract with QEMU.
 *
 * Copyright 2012 Freescale Semiconductor Inc.
 *
 * 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/of_fdt.h>
#include <asm/machdep.h>
#include <asm/pgtable.h>
#include <asm/time.h>
#include <asm/udbg.h>
#include <asm/mpic.h>
#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>
#include "smp.h"
#include "mpc85xx.h"


void __init qemu_e500_pic_init(void) { struct mpic *mpic; unsigned int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU | MPIC_ENABLE_COREINT; mpic = mpic_alloc(NULL, 0, flags, 0, 256, " OpenPIC "); BUG_ON(mpic == NULL); mpic_init(mpic); }

Contributors

PersonTokensPropCommitsCommitProp
Scott Wood52100.00%2100.00%
Total52100.00%2100.00%


static void __init qemu_e500_setup_arch(void) { ppc_md.progress("qemu_e500_setup_arch()", 0); fsl_pci_assign_primary(); swiotlb_detect_4g(); #if defined(CONFIG_FSL_PCI) && defined(CONFIG_ZONE_DMA32) /* * Inbound windows don't cover the full lower 4 GiB * due to conflicts with PCICSRBAR and outbound windows, * so limit the DMA32 zone to 2 GiB, to allow consistent * allocations to succeed. */ limit_zone_pfn(ZONE_DMA32, 1UL << (31 - PAGE_SHIFT)); #endif mpc85xx_smp_init(); }

Contributors

PersonTokensPropCommitsCommitProp
Scott Wood5092.59%250.00%
Jia Hongtao47.41%250.00%
Total54100.00%4100.00%

/* * Called very early, device-tree isn't unflattened */
static int __init qemu_e500_probe(void) { return !!of_machine_is_compatible("fsl,qemu-e500"); }

Contributors

PersonTokensPropCommitsCommitProp
Scott Wood1694.12%150.00%
Benjamin Herrenschmidt15.88%150.00%
Total17100.00%2100.00%

machine_arch_initcall(qemu_e500, mpc85xx_common_publish_devices); define_machine(qemu_e500) { .name = "QEMU e500", .probe = qemu_e500_probe, .setup_arch = qemu_e500_setup_arch, .init_IRQ = qemu_e500_pic_init, #ifdef CONFIG_PCI .pcibios_fixup_bus = fsl_pcibios_fixup_bus, .pcibios_fixup_phb = fsl_pcibios_fixup_phb, #endif .get_irq = mpic_get_coreint_irq, .calibrate_decr = generic_calibrate_decr, .progress = udbg_progress, };

Overall Contributors

PersonTokensPropCommitsCommitProp
Scott Wood21195.05%342.86%
Dongsheng Wang52.25%114.29%
Jia Hongtao52.25%228.57%
Benjamin Herrenschmidt10.45%114.29%
Total222100.00%7100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.