# git rev-parse -q --verify fe79bd7f4b465ec28cc8e7077cd270224094362d^{commit} fe79bd7f4b465ec28cc8e7077cd270224094362d already have revision, skipping fetch # git checkout -q -f -B kisskb fe79bd7f4b465ec28cc8e7077cd270224094362d # git clean -qxdf # git log -1 commit fe79bd7f4b465ec28cc8e7077cd270224094362d Author: Paul Mackerras Date: Mon Jan 30 21:21:53 2017 +1100 KVM: PPC: Book3S HV: Enable radix guest support This adds a few last pieces of the support for radix guests: * Implement the backends for the KVM_PPC_CONFIGURE_V3_MMU and KVM_PPC_GET_RMMU_INFO ioctls for radix guests * On POWER9, allow secondary threads to be on/off-lined while guests are running. * Set up LPCR and the partition table entry for radix guests. * Don't allocate the rmap array in the kvm_memory_slot structure on radix. * Don't try to initialize the HPT for radix guests, since they don't have an HPT. * Take out the code that prevents the HV KVM module from initializing on radix hosts. At this stage, we only support radix guests if the host is running in radix mode, and only support HPT guests if the host is running in HPT mode. Thus a guest cannot switch from one mode to the other, which enables some simplifications. Signed-off-by: Paul Mackerras 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 fe79bd7f4b465ec28cc8e7077cd270224094362d # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe-quick_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe-quick_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory '/home/kisskb/slave/build/mpe-quick_powerpc-allnoconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile UPD include/config/kernel.release 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/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/vtime.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h Using /home/kisskb/slave/src as source for kernel HOSTCC scripts/sortextable CC scripts/mod/empty.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/dtc.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/livetree.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o SHIPPED scripts/dtc/dtc-lexer.lex.c HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc-lexer.lex.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/mod/file2alias.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost 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 CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh CC init/main.o CHK include/generated/compile.h LD usr/built-in.o CC init/do_mounts.o CC init/init_task.o CC init/noinitramfs.o UPD include/generated/compile.h CC arch/powerpc/mm/fault.o LD arch/powerpc/sysdev/built-in.o CC init/version.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/mm/init-common.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/mm/ppc_mmu_32.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/lib/code-patching.o AS arch/powerpc/lib/string.o CC arch/powerpc/lib/alloc.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/checksum_wrappers.o LD arch/powerpc/platforms/built-in.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/signal.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/syscalls.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/process.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/dma.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/io.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o CC arch/powerpc/kernel/prom_parse.o CC arch/powerpc/kernel/of_platform.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_32.o LD arch/powerpc/crypto/built-in.o AS arch/powerpc/kernel/head_32.o CC arch/powerpc/kernel/iomap.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o LD init/mounts.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o AS arch/powerpc/kernel/systbl.o LD arch/powerpc/net/built-in.o LD arch/powerpc/lib/built-in.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so LD arch/powerpc/mm/built-in.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD certs/built-in.o LD init/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o LD ipc/built-in.o CC security/commoncap.o CC security/min_addr.o LD crypto/built-in.o CC kernel/fork.o CC kernel/panic.o CC kernel/exec_domain.o CC kernel/softirq.o LD block/built-in.o CC kernel/cpu.o CC kernel/resource.o CC kernel/exit.o CC kernel/sysctl.o CC kernel/user.o CC kernel/capability.o CC kernel/ptrace.o CC kernel/kmod.o CC kernel/sys.o CC kernel/signal.o CC kernel/workqueue.o CC kernel/extable.o CC kernel/task_work.o CC kernel/pid.o CC kernel/notifier.o CC kernel/nsproxy.o CC kernel/params.o CC kernel/kthread.o CC kernel/sysctl_binary.o CC kernel/ucount.o CC kernel/async.o CC kernel/smpboot.o CC kernel/range.o CC kernel/cred.o CC kernel/reboot.o CC kernel/ksysfs.o CC kernel/sys_ni.o LD kernel/livepatch/built-in.o CC kernel/power/qos.o CC kernel/printk/printk.o CC mm/filemap.o CC mm/mempool.o CC mm/oom_kill.o CC kernel/locking/mutex.o CC fs/open.o CC kernel/locking/semaphore.o CC kernel/irq/irqdesc.o CC kernel/dma.o CC kernel/rcu/update.o CC kernel/up.o CC kernel/elfcore.o CC kernel/locking/rwsem.o CC kernel/memremap.o CC mm/maccess.o CC kernel/sched/core.o CC kernel/locking/percpu-rwsem.o CC mm/page_alloc.o CC mm/page-writeback.o CC kernel/locking/rwsem-xadd.o CC mm/readahead.o LD kernel/power/built-in.o /home/kisskb/slave/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /home/kisskb/slave/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] CC kernel/sched/loadavg.o CC kernel/time/timer.o CC mm/swap.o CC kernel/time/time.o LD arch/powerpc/kernel/built-in.o CC kernel/time/hrtimer.o CC kernel/time/timekeeping.o CC fs/read_write.o LD kernel/printk/built-in.o LD sound/built-in.o CC kernel/time/ntp.o CC mm/truncate.o CC kernel/time/clocksource.o CC mm/vmscan.o CC kernel/rcu/sync.o CC mm/shmem.o CC kernel/sched/clock.o LD firmware/built-in.o CC kernel/rcu/tiny.o CC kernel/sched/cputime.o CC kernel/sched/idle_task.o CC kernel/time/jiffies.o CC kernel/sched/fair.o LD net/built-in.o CC kernel/time/timer_list.o CC kernel/sched/rt.o CC kernel/time/timeconv.o CC kernel/irq/handle.o CC kernel/time/timecounter.o CC mm/util.o CC kernel/sched/deadline.o CC kernel/time/alarmtimer.o CC kernel/time/posix-stubs.o LD security/built-in.o CC kernel/time/clockevents.o CC kernel/irq/manage.o CC kernel/sched/wait.o CC kernel/sched/stop_task.o CC kernel/irq/spurious.o CC kernel/time/tick-common.o CC kernel/sched/swait.o CC mm/mmzone.o CC fs/file_table.o CC kernel/sched/completion.o LD kernel/rcu/built-in.o LD kernel/locking/built-in.o CC kernel/sched/idle.o CC mm/vmstat.o CC kernel/irq/resend.o CC mm/backing-dev.o LD virt/lib/built-in.o CC mm/mm_init.o CC mm/mmu_context.o LD virt/built-in.o CC fs/char_dev.o CC fs/super.o CC fs/stat.o CC fs/fcntl.o CC fs/exec.o CC fs/pipe.o CC fs/namei.o CC fs/ioctl.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC mm/percpu.o CC kernel/irq/chip.o CC mm/slab_common.o CC mm/compaction.o LD drivers/block/built-in.o CC mm/vmacache.o CC mm/interval_tree.o CC kernel/irq/dummychip.o CC kernel/irq/devres.o LD drivers/bus/built-in.o CC kernel/irq/irqdomain.o CC lib/lockref.o LD drivers/cdrom/built-in.o CC mm/list_lru.o CC mm/workingset.o LD drivers/char/ipmi/built-in.o CC mm/debug.o CC mm/gup.o CC drivers/char/mem.o CC mm/highmem.o CC fs/readdir.o LD drivers/clocksource/built-in.o CC mm/memory.o CC drivers/base/component.o CC mm/mincore.o CC fs/dcache.o CC fs/select.o CC drivers/base/core.o CC drivers/base/bus.o CC drivers/base/dd.o CC lib/bcd.o LD drivers/clk/bcm/built-in.o CC fs/attr.o CC fs/inode.o LD drivers/firewire/built-in.o CC mm/mlock.o CC drivers/char/random.o LD drivers/clk/mvebu/built-in.o CC lib/div64.o CC drivers/char/misc.o LD drivers/hwtracing/intel_th/built-in.o CC mm/mmap.o CC fs/bad_inode.o CC mm/mprotect.o LD drivers/char/agp/built-in.o LD kernel/sched/built-in.o LD drivers/clk/ti/built-in.o LD drivers/idle/built-in.o LD drivers/i2c/algos/built-in.o LD drivers/firmware/broadcom/built-in.o LD drivers/clk/built-in.o CC mm/mremap.o LD drivers/i2c/busses/built-in.o LD kernel/time/built-in.o CC mm/msync.o LD drivers/i2c/muxes/built-in.o LD drivers/lguest/built-in.o CC drivers/irqchip/irqchip.o CC mm/rmap.o LD drivers/macintosh/built-in.o LD drivers/firmware/tegra/built-in.o LD drivers/firmware/meson/built-in.o LD drivers/gpu/drm/bridge/built-in.o CC lib/sort.o LD drivers/mfd/built-in.o CC lib/parser.o LD drivers/i2c/built-in.o LD drivers/firmware/built-in.o CC mm/vmalloc.o LD drivers/mmc/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o CC mm/init-mm.o CC mm/pagewalk.o LD drivers/nfc/built-in.o CC mm/pgtable-generic.o LD drivers/net/built-in.o CC lib/halfmd4.o CC lib/debug_locks.o CC lib/kasprintf.o CC lib/random32.o CC lib/bust_spinlocks.o CC drivers/base/syscore.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/gpu/drm/panel/built-in.o CC fs/file.o LD drivers/misc/cb710/built-in.o CC lib/bitmap.o CC lib/scatterlist.o CC drivers/base/driver.o LD drivers/nvme/host/built-in.o LD drivers/irqchip/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/media/firewire/built-in.o LD drivers/misc/eeprom/built-in.o LD kernel/irq/built-in.o LD drivers/media/mmc/siano/built-in.o LD drivers/nvme/target/built-in.o LD drivers/gpu/drm/omapdrm/built-in.o LD kernel/built-in.o LD drivers/media/i2c/soc_camera/built-in.o LD drivers/power/built-in.o CC fs/filesystems.o LD drivers/platform/built-in.o CC drivers/of/base.o LD drivers/media/i2c/built-in.o LD drivers/misc/lis3lv02d/built-in.o CC mm/nobootmem.o LD drivers/media/mmc/built-in.o LD drivers/nvme/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o CC fs/namespace.o LD drivers/misc/mic/bus/built-in.o CC drivers/base/class.o LD drivers/ptp/built-in.o LD drivers/media/common/b2c2/built-in.o LD drivers/misc/ti-st/built-in.o LD drivers/pwm/built-in.o LD drivers/misc/mic/built-in.o CC drivers/base/platform.o LD drivers/gpu/drm/built-in.o CC drivers/base/cpu.o CC drivers/base/firmware.o CC mm/memblock.o CC lib/gcd.o CC lib/lcm.o CC mm/dmapool.o CC lib/list_sort.o LD drivers/media/common/saa7146/built-in.o LD drivers/misc/built-in.o LD drivers/usb/host/built-in.o LD drivers/video/backlight/built-in.o CC lib/uuid.o LD drivers/soc/bcm/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/soc/fsl/built-in.o CC mm/slub.o LD drivers/media/common/siano/built-in.o CC drivers/base/init.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/tty/ipwireless/built-in.o LD drivers/usb/built-in.o LD drivers/tty/serial/built-in.o LD drivers/tty/vt/built-in.o CC lib/flex_array.o LD drivers/gpu/built-in.o LD drivers/char/built-in.o LD drivers/soc/built-in.o CC drivers/pci/probe.o CC drivers/pci/bus.o LD drivers/media/pci/b2c2/built-in.o CC drivers/pci/host-bridge.o CC drivers/pci/access.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o CC drivers/pci/remove.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/dm1105/built-in.o CC drivers/pci/pci.o LD drivers/media/common/built-in.o LD drivers/video/fbdev/core/built-in.o CC drivers/pci/rom.o LD drivers/tty/built-in.o CC drivers/pci/search.o CC drivers/pci/pci-sysfs.o CC drivers/pci/pci-driver.o CC drivers/pci/setup-res.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/pt1/built-in.o CC drivers/of/device.o CC drivers/of/platform.o CC drivers/of/fdt.o CC drivers/of/address.o CC drivers/of/fdt_address.o CC drivers/of/irq.o CC drivers/of/of_pci.o CC drivers/of/of_pci_irq.o CC drivers/of/of_reserved_mem.o LD drivers/media/platform/omap/built-in.o CC lib/iov_iter.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/platform/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/pci/smipcie/built-in.o CC drivers/base/map.o CC drivers/pci/vpd.o CC drivers/pci/irq.o CC drivers/pci/setup-bus.o CC drivers/base/devres.o CC drivers/pci/vc.o CC drivers/pci/of.o LD drivers/media/pci/ttpci/built-in.o CC drivers/pci/syscall.o LD drivers/media/rc/built-in.o CC drivers/base/attribute_container.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/find_bit.o LD drivers/media/pci/built-in.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC fs/seq_file.o CC fs/xattr.o LD drivers/pci/host/built-in.o LD drivers/video/fbdev/omap2/built-in.o CC fs/libfs.o LD drivers/media/spi/built-in.o CC lib/llist.o LD drivers/media/tuners/built-in.o LD drivers/video/fbdev/built-in.o CC lib/memweight.o CC lib/kfifo.o CC lib/percpu-refcount.o CC drivers/base/transport_class.o CC drivers/base/topology.o LD drivers/video/built-in.o CC drivers/base/container.o CC lib/percpu_ida.o CC drivers/base/cacheinfo.o CC fs/fs-writeback.o CC drivers/base/property.o CC fs/pnode.o CC lib/rhashtable.o CC fs/sync.o CC fs/splice.o LD drivers/base/power/built-in.o CC lib/reciprocal_div.o CC lib/once.o LD drivers/base/test/built-in.o CC fs/stack.o CC fs/fs_struct.o CC fs/utimes.o CC fs/statfs.o CC fs/fs_pin.o CC drivers/base/dma-mapping.o CC lib/kstrtox.o CC lib/pci_iomap.o CC lib/hexdump.o CC lib/string_helpers.o LD drivers/media/usb/b2c2/built-in.o CC lib/iomap_copy.o CC fs/nsfs.o CC fs/no-block.o CC lib/hweight.o CC lib/devres.o LD drivers/media/usb/dvb-usb/built-in.o LD fs/devpts/built-in.o CC lib/bitrev.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD fs/exofs/built-in.o HOSTCC lib/gen_crc32table LD drivers/media/usb/s2255/built-in.o LD fs/quota/built-in.o CC lib/syscall.o CC lib/atomic64.o CC lib/strncpy_from_user.o CC lib/strnlen_user.o CC fs/ramfs/inode.o LD drivers/media/usb/siano/built-in.o CC lib/argv_split.o CC lib/chacha20.o CC lib/ctype.o CC lib/cmdline.o LD fs/notify/dnotify/built-in.o CC lib/dec_and_lock.o CC fs/binfmt_elf.o CC lib/decompress.o CC lib/dma-noop.o LD fs/notify/fanotify/built-in.o CC fs/ramfs/file-mmu.o LD drivers/media/usb/stkwebcam/built-in.o LD fs/notify/inotify/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o CC lib/earlycpio.o CC lib/dump_stack.o CC lib/fdt.o CC lib/fdt_ro.o CC lib/extable.o LD drivers/media/usb/zr364xx/built-in.o CC lib/fdt_strerror.o CC lib/fdt_rw.o CC lib/fdt_empty_tree.o LD fs/notify/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o CC lib/fdt_wip.o CC lib/fdt_sw.o CC lib/idr.o CC lib/int_sqrt.o CC lib/ioremap.o CC lib/flex_proportions.o CC lib/is_single_threaded.o CC lib/irq_regs.o LD drivers/of/built-in.o LD drivers/media/usb/built-in.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/klist.o CC lib/nodemask.o CC lib/md5.o CC lib/plist.o CC lib/nmi_backtrace.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/sha1.o CC lib/seq_buf.o CC lib/show_mem.o CC lib/string.o LD drivers/media/built-in.o CC lib/timerqueue.o CC lib/win_minmax.o GEN lib/crc32table.h CC lib/vsprintf.o CC lib/crc32.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o LD mm/built-in.o LD drivers/base/built-in.o LD fs/built-in.o LD drivers/pci/built-in.o LD drivers/built-in.o AR lib/lib.a EXPORTS lib/lib-ksyms.o LD lib/built-in.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux.o MODPOST vmlinux.o LD vmlinux SORTEX vmlinux SYSMAP System.map /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/mpe-quick_powerpc-allnoconfig_powerpc' Completed OK # rm -rf /home/kisskb/slave/build/mpe-quick_powerpc-allnoconfig_powerpc # Build took: 0:00:15.188040