# git rev-parse -q --verify 053cab97b712a6374b848f50e5459de625afd4b6^{commit} 053cab97b712a6374b848f50e5459de625afd4b6 already have revision, skipping fetch # git checkout -q -f -B kisskb 053cab97b712a6374b848f50e5459de625afd4b6 # git clean -qxdf # git log -1 commit 053cab97b712a6374b848f50e5459de625afd4b6 Author: Benjamin Herrenschmidt Date: Wed Apr 5 17:54:56 2017 +1000 powerpc/kvm: Native usage of the XIVE interrupt controller This patch makes KVM capable of using the XIVE interrupt controller to provide the standard PAPR "XICS" style hypercalls. It is necessary for proper operations when the host uses XIVE natively. This has been lightly tested on an actual system, including PCI pass-through with a TG3 device. Signed-off-by: Benjamin Herrenschmidt [mpe: Cleanup pr_xxx(), unsplit pr_xxx() strings, etc., fix build failures by adding KVM_XIVE which depends on KVM_XICS and XIVE, and adding empty stubs for the kvm_xive_xxx() routines] Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 053cab97b712a6374b848f50e5459de625afd4b6 # < make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- randconfig KCONFIG_SEED=0xE6D3AA77 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # yes \n | make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory '/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/export.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/vtime.h WRAP arch/powerpc/include/generated/asm/preempt.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h UPD include/config/kernel.release HOSTCC scripts/basic/bin2c Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o CC scripts/mod/empty.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o MKELF scripts/mod/elfconfig.h GEN scripts/mod/devicetable-offsets.h SHIPPED scripts/dtc/dtc-lexer.lex.c HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash HOSTCC scripts/sortextable HOSTCC scripts/asn1_compiler HOSTCC scripts/extract-cert HOSTCC scripts/insert-sys-cert CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s HOSTLD scripts/dtc/dtc CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh HOSTLD scripts/mod/modpost CHK include/generated/compile.h AR usr/built-in.o CC init/main.o CC init/do_mounts.o CC init/do_mounts_md.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC arch/powerpc/mm/fault.o AS arch/powerpc/lib/string.o CC arch/powerpc/sysdev/mpic.o CC arch/powerpc/platforms/powermac/pic.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/kernel/cputable.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/platforms/powermac/setup.o CC arch/powerpc/platforms/powernv/setup.o AS arch/powerpc/platforms/powernv/opal-wrappers.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/mm/mmap.o AS arch/powerpc/lib/checksum_64.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/lib/sstep.o CC arch/powerpc/platforms/powermac/time.o CC init/version.o CC arch/powerpc/platforms/powernv/opal.o CC arch/powerpc/platforms/powernv/opal-async.o CC arch/powerpc/platforms/powernv/idle.o CC arch/powerpc/mm/init_64.o AR init/mounts.o CC arch/powerpc/platforms/powermac/feature.o AR init/built-in.o CC arch/powerpc/platforms/powermac/pci.o CC arch/powerpc/mm/pgtable_64.o CC arch/powerpc/platforms/powernv/opal-rtc.o CC arch/powerpc/sysdev/mpic_msi.o CC arch/powerpc/platforms/pseries/lpar.o CC arch/powerpc/sysdev/mpic_u3msi.o CC arch/powerpc/sysdev/msi_bitmap.o CC arch/powerpc/sysdev/dart_iommu.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/platforms/powernv/opal-nvram.o AS arch/powerpc/platforms/powermac/sleep.o CC arch/powerpc/platforms/powermac/low_i2c.o AS arch/powerpc/platforms/powermac/cache.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/mm/pgtable-hash64.o AS arch/powerpc/lib/ldstfp.o AS arch/powerpc/lib/copypage_64.o AS arch/powerpc/lib/copyuser_64.o CC arch/powerpc/lib/usercopy_64.o AS arch/powerpc/lib/mem_64.o AS arch/powerpc/lib/hweight_64.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/sysdev/i8259.o CC arch/powerpc/platforms/powermac/pfunc_core.o CC arch/powerpc/platforms/powermac/pfunc_base.o CC arch/powerpc/platforms/powernv/opal-lpc.o AS arch/powerpc/lib/copyuser_power7.o AS arch/powerpc/lib/string_64.o CC arch/powerpc/mm/hash_utils_64.o AS arch/powerpc/lib/copypage_power7.o AS arch/powerpc/platforms/pseries/hvCall.o AS arch/powerpc/lib/memcpy_power7.o CC arch/powerpc/platforms/pseries/nvram.o AS arch/powerpc/lib/memcpy_64.o AS arch/powerpc/lib/memcmp_64.o AR arch/powerpc/lib/built-in.o CC arch/powerpc/platforms/pseries/reconfig.o CC arch/powerpc/platforms/pseries/of_helpers.o CC arch/powerpc/sysdev/scom.o CC arch/powerpc/sysdev/xics/xics-common.o CC arch/powerpc/platforms/powernv/opal-flash.o CC arch/powerpc/platforms/powernv/rng.o CC arch/powerpc/platforms/pseries/setup.o CC arch/powerpc/platforms/powermac/udbg_scc.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o AS arch/powerpc/mm/slb_low.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/mm/slb.o CC arch/powerpc/mm/hash_native_64.o CC arch/powerpc/sysdev/xics/icp-native.o CC arch/powerpc/platforms/powernv/opal-elog.o CC arch/powerpc/sysdev/xics/icp-hv.o CC arch/powerpc/platforms/powermac/udbg_adb.o CC arch/powerpc/mm/mmu_context_book3s64.o AR arch/powerpc/math-emu/built-in.o CC arch/powerpc/platforms/pseries/iommu.o CC arch/powerpc/sysdev/xive/common.o AR arch/powerpc/crypto/built-in.o AS [M] arch/powerpc/crypto/sha1-powerpc-asm.o CC arch/powerpc/sysdev/xics/ics-rtas.o CC [M] arch/powerpc/crypto/sha1.o CC arch/powerpc/platforms/powermac/nvram.o CC arch/powerpc/kernel/process.o CC arch/powerpc/platforms/powernv/opal-dump.o CC arch/powerpc/sysdev/xics/ics-opal.o CC arch/powerpc/mm/pgtable-book3s64.o /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c: In function 'xive_irq_domain_map': /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c:1105:35: error: 'xive_ipi_chip' undeclared (first use in this function) /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c:1105:35: note: each undeclared identifier is reported only once for each function it appears in /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c: In function 'xive_kexec_teardown_cpu': /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c:1357:2: error: implicit declaration of function 'xive_cleanup_cpu_ipi' [-Werror=implicit-function-declaration] /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c: At top level: /home/kisskb/slave/src/arch/powerpc/sysdev/xive/common.c:67:12: warning: 'xive_ipi_irq' defined but not used [-Wunused-variable] cc1: warning: unrecognized command line option "-Wno-maybe-uninitialized" [enabled by default] cc1: warning: unrecognized command line option "-Wno-maybe-uninitialized" [enabled by default] cc1: some warnings being treated as errors /home/kisskb/slave/src/scripts/Makefile.build:294: recipe for target 'arch/powerpc/sysdev/xive/common.o' failed make[3]: *** [arch/powerpc/sysdev/xive/common.o] Error 1 /home/kisskb/slave/src/scripts/Makefile.build:553: recipe for target 'arch/powerpc/sysdev/xive' failed make[2]: *** [arch/powerpc/sysdev/xive] Error 2 make[2]: *** Waiting for unfinished jobs.... CC arch/powerpc/platforms/powernv/opal-sysparam.o CC arch/powerpc/mm/pgtable-radix.o LD [M] arch/powerpc/crypto/sha1-powerpc.o CC arch/powerpc/sysdev/xics/icp-opal.o CC arch/powerpc/platforms/pseries/event_sources.o CC arch/powerpc/platforms/powernv/opal-sensor.o CC arch/powerpc/mm/tlb-radix.o CC arch/powerpc/platforms/pseries/ras.o CC arch/powerpc/platforms/powernv/opal-msglog.o AR arch/powerpc/platforms/powermac/built-in.o AR arch/powerpc/net/built-in.o CC arch/powerpc/platforms/pseries/firmware.o CC arch/powerpc/mm/tlb_hash64.o AR arch/powerpc/sysdev/xics/built-in.o /home/kisskb/slave/src/Makefile:1002: recipe for target 'arch/powerpc/sysdev' failed make[1]: *** [arch/powerpc/sysdev] Error 2 make[1]: *** Waiting for unfinished jobs.... CC arch/powerpc/platforms/pseries/power.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/platforms/pseries/dlpar.o CC arch/powerpc/platforms/pseries/mobility.o CC arch/powerpc/platforms/pseries/rng.o CC arch/powerpc/platforms/pseries/pci.o CC arch/powerpc/platforms/powernv/opal-hmi.o CC arch/powerpc/platforms/powernv/opal-power.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/platforms/powernv/opal-irqchip.o CC arch/powerpc/platforms/powernv/opal-kmsg.o CC arch/powerpc/platforms/pseries/pci_dlpar.o CC arch/powerpc/mm/hash64_4k.o CC arch/powerpc/platforms/powernv/pci.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/platforms/powernv/pci-ioda.o CC arch/powerpc/platforms/pseries/eeh_pseries.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/mm/copro_fault.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/platforms/powernv/npu-dma.o CC arch/powerpc/platforms/powernv/pci-cxl.o CC arch/powerpc/kernel/traps.o AR arch/powerpc/mm/built-in.o CC arch/powerpc/platforms/pseries/msi.o CC arch/powerpc/platforms/pseries/pseries_energy.o CC arch/powerpc/platforms/pseries/io_event_irq.o CC arch/powerpc/platforms/pseries/vio.o CC arch/powerpc/platforms/powernv/eeh-powernv.o CC arch/powerpc/platforms/pseries/suspend.o CC arch/powerpc/platforms/powernv/opal-xscom.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/platforms/powernv/opal-tracepoints.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/dma.o AS arch/powerpc/kernel/misc_64.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/prom_parse.o AR arch/powerpc/platforms/pseries/built-in.o CC arch/powerpc/kernel/setup_64.o CC arch/powerpc/kernel/sys_ppc32.o CC arch/powerpc/kernel/signal_64.o CC arch/powerpc/kernel/ptrace32.o CC arch/powerpc/kernel/paca.o CC arch/powerpc/kernel/nvram_64.o CC arch/powerpc/kernel/firmware.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o LDS arch/powerpc/kernel/vdso64/vdso64.lds VDSO32A arch/powerpc/kernel/vdso32/datapage.o AS arch/powerpc/kernel/vdso64/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o AS arch/powerpc/kernel/vdso64/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/note.o AS arch/powerpc/kernel/vdso64/datapage.o AS arch/powerpc/kernel/vdso64/cacheflush.o AS arch/powerpc/kernel/vdso64/note.o VDSO32A arch/powerpc/kernel/vdso32/getcpu.o CC arch/powerpc/kernel/hw_breakpoint.o AS arch/powerpc/kernel/cpu_setup_ppc970.o AS arch/powerpc/kernel/vdso64/getcpu.o AS arch/powerpc/kernel/cpu_setup_pa6t.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/cpu_setup_power.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o VDSO64L arch/powerpc/kernel/vdso64/vdso64.so.dbg CC arch/powerpc/kernel/mce.o OBJCOPY arch/powerpc/kernel/vdso64/vdso64.so AS arch/powerpc/kernel/vdso64/vdso64_wrapper.o CC arch/powerpc/kernel/mce_power.o AR arch/powerpc/kernel/vdso32/built-in.o AS arch/powerpc/kernel/idle_power4.o AS arch/powerpc/kernel/idle_book3s.o AR arch/powerpc/kernel/vdso64/built-in.o CC arch/powerpc/kernel/proc_powerpc.o CC arch/powerpc/kernel/rtas.o AR arch/powerpc/platforms/powernv/built-in.o CC arch/powerpc/kernel/rtas-rtc.o AR arch/powerpc/platforms/built-in.o CC arch/powerpc/kernel/rtas_pci.o CC arch/powerpc/kernel/rtasd.o CC arch/powerpc/kernel/rtas-proc.o CC arch/powerpc/kernel/eeh.o CC arch/powerpc/kernel/eeh_pe.o CC arch/powerpc/kernel/eeh_dev.o CC arch/powerpc/kernel/eeh_cache.o CC arch/powerpc/kernel/eeh_driver.o CC arch/powerpc/kernel/eeh_event.o CC arch/powerpc/kernel/eeh_sysfs.o CC arch/powerpc/kernel/smp-tbsync.o CC arch/powerpc/kernel/module.o CC arch/powerpc/kernel/module_64.o CC arch/powerpc/kernel/dbell.o CC arch/powerpc/kernel/dma-iommu.o CC arch/powerpc/kernel/iommu.o CC arch/powerpc/kernel/uprobes.o CC arch/powerpc/kernel/legacy_serial.o CC arch/powerpc/kernel/udbg_16550.o CC arch/powerpc/kernel/stacktrace.o CC arch/powerpc/kernel/pci_64.o CC arch/powerpc/kernel/pci_dn.o CC arch/powerpc/kernel/pci-hotplug.o CC arch/powerpc/kernel/isa-bridge.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/msi.o CC arch/powerpc/kernel/ftrace.o CC arch/powerpc/kernel/trace_clock.o CC arch/powerpc/kernel/prom_init.o AS arch/powerpc/kernel/head_64.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o AS arch/powerpc/kernel/entry_64.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh AS arch/powerpc/kernel/systbl.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/prom_init_check.sh AR arch/powerpc/kernel/built-in.o make[1]: Leaving directory '/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc' Makefile:152: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 10 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-randconfig_powerpc # Build took: 0:00:17.813064