It's taken a bit of time, but we now have the 4.2rc2 kernel available in git. If you could use this git repo as the base for these patches it would make things immensely easier.
https://git.centos.org/summary/sig-altarch!kernel.git
The basics for how to work with the kernel source repository are here -> http://wiki.centos.org/Sources
On 08/13/2015 08:17 AM, Vadim Lomovtsev wrote:
This patch set implements Cavium ThunderX SoC support. Patch set rebased on to 4.2-rc5 and overrides patch set v0 so please drop them before applying this one.
In case of any issues at build or run-time, please let me know.
Al Stone (2): Fix arm64 compilation error in PNP code clocksource: arm_arch_timer: fix system hang
Andre Przywara (14): KVM: arm/arm64: VGIC: don't track used LRs in the distributor KVM: arm/arm64: add emulation model specific destroy function KVM: arm/arm64: extend arch CAP checks to allow per-VM capabilities KVM: arm/arm64: make GIC frame address initialization model specific KVM: arm64: Introduce new MMIO region for the ITS base address KVM: arm64: handle ITS related GICv3 redistributor registers KVM: arm64: introduce ITS emulation file with stub functions KVM: arm64: implement basic ITS register handlers KVM: arm64: add data structures to model ITS interrupt translation KVM: arm64: handle pending bit for LPIs in ITS emulation KVM: arm64: sync LPI configuration and pending tables KVM: arm64: implement ITS command queue command handlers KVM: arm64: implement MSI injection in ITS emulation KVM: arm64: enable ITS emulation as a virtual MSI controller
Andrew Pinski (5): ARM64:VDSO: Improve gettimeofday, don't use udiv ARM64:VDSO: Improve __do_get_tspec, don't use udiv ARM64:Improve ticked spinlocks for high core count. ARM64:spinlocks: Fix up for WFE and improve performance slightly. ARM64: Improve copy_page for 128 cache line sizes.
Craig Magina (1): arm64: optimized copy_to_user and copy_from_user assembly code, part 2
David Daney (5): pci: Add is_pcierc element to struct pci_bus gic-its: Allow pci_requester_id to be overridden. arm64, pci: Allow RC drivers to supply pcibios_add_device() implementation. irqchip: gic-v3: Add gic_get_irq_domain() to get the irqdomain of the GIC. net/mlx4: Remove improper usage of dma_alloc_coherent().
Eric Auger (7): KVM: api: introduce KVM_IRQ_ROUTING_EXTENDED_MSI KVM: kvm_host: add devid in kvm_kernel_irq_routing_entry KVM: irqchip: convey devid to kvm_set_msi KVM: arm/arm64: enable irqchip routing KVM: arm/arm64: build a default routing table KVM: arm/arm64: enable MSI routing KVM: arm: implement kvm_set_msi by gsi direct mapping
Feng Kan (1): arm64: optimized copy_to_user and copy_from_user assembly code
Graeme Gregory (3): Juno / net: smsc911x add support for probing from ACPI net: smc91x: add ACPI probing support. virtio-mmio: add ACPI probing
Naresh Bhat (1): mfd: vexpress-sysreg Add ACPI support for probing to driver
Narinder (1): Fixes to get ACPI based kernel booting. Temporary fix to get going.
Radha Mohan Chintakuntla (4): net: mdio-octeon: Modify driver to work on both ThunderX and Octeon net: mdio-octeon: Fix octeon_mdiobus_probe function for return values net: thunderx: Select CONFIG_MDIO_OCTEON for ThunderX NIC arm64: gicv3: its: Increase FORCE_MAX_ZONEORDER for Cavium ThunderX
Robert Richter (12): Revert "acpi, thuderx, pci: Add MCFG fixup." net: thunderx: Fixes for nicvf_set_rxfh() net: cavium: thunder_bgx/nic: Factor out DT specific code irqchip, gicv3-its: Read typer register outside the loop irqchip, gicv3: Add HW revision detection and configuration irqchip, gicv3: Implement Cavium ThunderX erratum 23154 irqchip, gicv3-its: Implement Cavium ThunderX errata 22375, 24313 arm64: gicv3: its: Add range check for number of allocated pages Revert "mfd: vexpress: Remove non-DT code" net: thunderx: acpi: Get mac address from acpi table acpi, property: Fix EXPORT_SYMBOL_GPL() for acpi_dev_prop_read_single() arm64: topology: Use acpi_disabled for ACPI check
Sunil Goutham (2): net: thunderx: Receive hashing HW offload support net: thunderx: Add receive error stats reporting via ethtool
TIRUMALESH CHALAMARLA (1): arm64: Increase the max granular size
Tirumalesh Chalamarla (3): PCI_ Add host drivers for Cavium ThunderX processors arm64: KVM: Enable minimalistic support for Thunder KVM: extend struct kvm_msi to hold a 32-bit device ID
Tomasz Nowicki (24): arm64, acpi: Implement new "GIC version" field of MADT GIC entry. ACPI, GICv3: Allow to map irq for non-hierarchical doamin. GICv3: Refactor gic_of_init() of GICv3 driver to allow for FDT and ACPI initialization. ACPI, GICV3+: Add support for GICv3+ initialization. GICv3, ITS: Isolate FDT related code, extract common functions. ACPI, GICv3, ITS: Add support for ACPI ITS binding. x86, acpi, pci: Reorder logic of pci_mmconfig_insert() function x86, acpi, pci: Move arch-agnostic MMCFG code out of arch/x86/ directory x86, acpi, pci: Move PCI config space accessors. x86, acpi, pci: mmconfig_{32,64}.c code refactoring - remove code duplication. x86, acpi, pci: mmconfig_64.c becomes default implementation for arch agnostic low-level direct PCI config space accessors via MMCONFIG. pci, acpi: Share ACPI PCI config space accessors. arm64, pci, acpi: Let ARM64 to use MMCONFIG PCI config space accessors. arm64, pci: Add PCI ACPI probing for ARM64 net, phy, apci: Allow to initialize Marvell phy in the ACPI way. net, mdio, acpi: Add support for ACPI binding. net, thunder, bgx: Rework driver to support ACPI binding. arm64/acpi/pci: provide hook for MCFG fixups acpi, property: Export acpi_dev_prop_read call to be usable for kernel modules. ARM64 / ACPI: Point KVM to the virtual timer interrupt when booting with ACPI arm64, acpi, pci: Omit OF related IRQ parsing when running with ACPI kernel. pci, acpi, dma: Unify coherency checking logic for PCI devices. ARM64, ACPI, PCI, MSI: I/O Remapping Table (IORT) initial support. Compiler bug workaround!!!
Vadim Lomovtsev (1): PCI: ThunderX: fix build issue
Documentation/virtual/kvm/api.txt | 46 +- Documentation/virtual/kvm/devices/arm-vgic.txt | 9 + arch/arm/include/asm/kvm_host.h | 4 +- arch/arm/kvm/Kconfig | 3 + arch/arm/kvm/Makefile | 2 +- arch/arm/kvm/arm.c | 2 +- arch/arm64/Kconfig | 4 + arch/arm64/include/asm/acpi.h | 2 + arch/arm64/include/asm/cache.h | 2 +- arch/arm64/include/asm/cputype.h | 3 + arch/arm64/include/asm/kvm_host.h | 3 +- arch/arm64/include/asm/pci.h | 47 + arch/arm64/include/asm/spinlock.h | 36 +- arch/arm64/include/uapi/asm/kvm.h | 5 +- arch/arm64/kernel/Makefile | 1 + arch/arm64/kernel/acpi.c | 33 +- arch/arm64/kernel/pci-acpi.c | 362 +++++++ arch/arm64/kernel/pci.c | 35 +- arch/arm64/kernel/topology.c | 8 + arch/arm64/kernel/vdso/gettimeofday.S | 47 +- arch/arm64/kvm/Kconfig | 3 + arch/arm64/kvm/Makefile | 3 +- arch/arm64/kvm/guest.c | 6 + arch/arm64/kvm/reset.c | 8 +- arch/arm64/kvm/sys_regs_generic_v8.c | 2 + arch/arm64/lib/copy_from_user.S | 87 +- arch/arm64/lib/copy_page.S | 32 + arch/arm64/lib/copy_template.S | 212 ++++ arch/arm64/lib/copy_to_user.S | 57 +- arch/x86/include/asm/pci.h | 42 + arch/x86/include/asm/pci_x86.h | 72 -- arch/x86/pci/Makefile | 5 +- arch/x86/pci/acpi.c | 1 + arch/x86/pci/init.c | 1 + arch/x86/pci/mmconfig-shared.c | 242 +---- arch/x86/pci/mmconfig_32.c | 11 +- arch/x86/pci/mmconfig_64.c | 153 --- drivers/acpi/Kconfig | 3 + drivers/acpi/Makefile | 2 + drivers/acpi/bus.c | 1 + drivers/acpi/iort.c | 272 +++++ drivers/acpi/mmconfig.c | 437 ++++++++ drivers/acpi/property.c | 1 + drivers/clocksource/arm_arch_timer.c | 9 +- drivers/infiniband/hw/mlx4/cq.c | 2 +- drivers/infiniband/hw/mlx4/qp.c | 2 +- drivers/infiniband/hw/mlx4/srq.c | 3 +- drivers/irqchip/Kconfig | 1 + drivers/irqchip/irq-gic-common.c | 11 + drivers/irqchip/irq-gic-common.h | 9 + drivers/irqchip/irq-gic-v3-its.c | 241 +++-- drivers/irqchip/irq-gic-v3.c | 373 ++++++- drivers/mfd/vexpress-sysreg.c | 133 ++- drivers/net/ethernet/cavium/Kconfig | 2 + drivers/net/ethernet/cavium/thunder/nic.h | 36 +- .../net/ethernet/cavium/thunder/nicvf_ethtool.c | 50 +- drivers/net/ethernet/cavium/thunder/nicvf_main.c | 62 +- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 86 +- drivers/net/ethernet/cavium/thunder/nicvf_queues.h | 41 - drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 175 ++- drivers/net/ethernet/mellanox/mlx4/alloc.c | 104 +- drivers/net/ethernet/mellanox/mlx4/en_cq.c | 9 +- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- drivers/net/ethernet/mellanox/mlx4/en_resources.c | 32 - drivers/net/ethernet/mellanox/mlx4/en_rx.c | 11 +- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 14 +- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 2 - drivers/net/ethernet/mellanox/mlx4/mr.c | 5 +- drivers/net/ethernet/smsc/smc91x.c | 11 +- drivers/net/ethernet/smsc/smsc911x.c | 38 + drivers/net/phy/Kconfig | 9 +- drivers/net/phy/marvell.c | 118 +- drivers/net/phy/mdio-octeon.c | 198 +++- drivers/pci/host/Kconfig | 12 + drivers/pci/host/Makefile | 2 + drivers/pci/host/pcie-thunder-pem.c | 462 ++++++++ drivers/pci/host/pcie-thunder.c | 335 ++++++ drivers/pci/pci-acpi.c | 13 + drivers/pci/pci.c | 98 +- drivers/pci/probe.c | 4 +- drivers/pnp/resource.c | 2 + drivers/tty/n_tty.c | 3 +- drivers/virtio/virtio_mmio.c | 12 +- include/acpi/actbl1.h | 12 +- include/asm-generic/vmlinux.lds.h | 7 + include/kvm/arm_vgic.h | 39 +- include/linux/iort.h | 39 + include/linux/irqchip/arm-gic-acpi.h | 3 + include/linux/irqchip/arm-gic-v3.h | 22 +- include/linux/kvm_host.h | 7 +- include/linux/mlx4/device.h | 11 +- include/linux/mmconfig.h | 86 ++ include/linux/pci-acpi.h | 2 + include/linux/pci.h | 11 +- include/uapi/linux/kvm.h | 11 +- virt/kvm/arm/arch_timer.c | 76 +- virt/kvm/arm/its-emul.c | 1141 ++++++++++++++++++++ virt/kvm/arm/its-emul.h | 55 + virt/kvm/arm/vgic-v2-emul.c | 15 + virt/kvm/arm/vgic-v2.c | 1 + virt/kvm/arm/vgic-v3-emul.c | 105 +- virt/kvm/arm/vgic-v3.c | 1 + virt/kvm/arm/vgic.c | 375 +++++-- virt/kvm/arm/vgic.h | 5 + virt/kvm/eventfd.c | 6 +- virt/kvm/irqchip.c | 12 +- 106 files changed, 5824 insertions(+), 1257 deletions(-) create mode 100644 arch/arm64/kernel/pci-acpi.c create mode 100644 arch/arm64/lib/copy_template.S delete mode 100644 arch/x86/pci/mmconfig_64.c create mode 100644 drivers/acpi/iort.c create mode 100644 drivers/acpi/mmconfig.c create mode 100644 drivers/pci/host/pcie-thunder-pem.c create mode 100644 drivers/pci/host/pcie-thunder.c create mode 100644 include/linux/iort.h create mode 100644 include/linux/mmconfig.h create mode 100644 virt/kvm/arm/its-emul.c create mode 100644 virt/kvm/arm/its-emul.h