# git rev-parse -q --verify df7b989d22a257ac3c5a7d01c4fcfae48680c116^{commit} df7b989d22a257ac3c5a7d01c4fcfae48680c116 already have revision, skipping fetch # git checkout -q -f -B kisskb df7b989d22a257ac3c5a7d01c4fcfae48680c116 # git clean -qxdf # git log -1 commit df7b989d22a257ac3c5a7d01c4fcfae48680c116 Author: Nicholas Piggin Date: Wed Apr 19 23:05:51 2017 +1000 powerpc/64s: Simplify POWER9 DD1 idle workaround code The idle workaround does not need to load PACATOC, and it does not need to be called within a nested function that requires LR to be saved. Load the PACATOC at entry to the idle wakeup. It does not matter which PACA this comes from, so it's okay to call before the workaround. Then apply the workaround to get the right PACA. Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 df7b989d22a257ac3c5a7d01c4fcfae48680c116 # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- make[1]: Entering directory '/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3' 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/dtc.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/srcpos.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 CHK include/generated/compile.h CC init/main.o LD usr/built-in.o CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/fault.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/pgtable.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/mem.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/mm/mmap.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/checksum_32.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/mm/ppc_mmu_32.o AS arch/powerpc/lib/div64.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/mm/hugetlbpage.o LD arch/powerpc/platforms/built-in.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/process.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/align.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/prom.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/io.o LD arch/powerpc/crypto/built-in.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/kernel/prom_parse.o AS arch/powerpc/kernel/idle_6xx.o LD arch/powerpc/net/built-in.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC arch/powerpc/kernel/pci_32.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds LD certs/built-in.o AS arch/powerpc/kernel/fpu.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh AS arch/powerpc/kernel/systbl.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD arch/powerpc/lib/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o LD ipc/built-in.o CC kernel/fork.o CC kernel/cpu.o CC kernel/panic.o CC security/min_addr.o CC kernel/exit.o CC kernel/exec_domain.o CC security/commoncap.o CC kernel/resource.o CC kernel/sysctl.o CC kernel/sysctl_binary.o CC kernel/ptrace.o CC kernel/softirq.o CC kernel/kmod.o CC kernel/capability.o CC kernel/sys.o CC kernel/user.o CC kernel/workqueue.o CC kernel/signal.o CC kernel/task_work.o CC kernel/extable.o CC kernel/params.o CC kernel/kthread.o CC kernel/pid.o LD arch/powerpc/mm/built-in.o CC kernel/sys_ni.o CC kernel/nsproxy.o CC kernel/notifier.o CC kernel/ksysfs.o CC kernel/cred.o CC kernel/reboot.o CC kernel/async.o CC kernel/range.o LD crypto/built-in.o LD block/built-in.o CC mm/filemap.o CC kernel/smpboot.o CC mm/mempool.o CC mm/oom_kill.o CC mm/maccess.o CC mm/page_alloc.o CC mm/page-writeback.o CC mm/readahead.o CC kernel/ucount.o LD init/mounts.o LD init/built-in.o CC fs/open.o CC mm/swap.o LD kernel/livepatch/built-in.o LD sound/built-in.o CC fs/read_write.o CC fs/file_table.o CC kernel/irq/irqdesc.o CC fs/super.o LD firmware/built-in.o CC kernel/locking/mutex.o CC kernel/power/qos.o CC fs/char_dev.o CC kernel/printk/printk.o LD net/built-in.o CC kernel/rcu/update.o CC kernel/dma.o CC kernel/up.o CC kernel/elfcore.o CC kernel/memremap.o CC kernel/locking/semaphore.o CC kernel/locking/rwsem.o CC kernel/sched/core.o CC kernel/sched/loadavg.o LD virt/lib/built-in.o CC mm/truncate.o CC kernel/irq/manage.o CC kernel/irq/handle.o CC kernel/time/time.o CC mm/vmscan.o LD virt/built-in.o CC kernel/time/timer.o CC kernel/time/timekeeping.o CC kernel/time/hrtimer.o CC kernel/time/ntp.o CC mm/shmem.o CC mm/util.o CC kernel/time/clocksource.o CC kernel/time/jiffies.o CC mm/mmzone.o CC kernel/locking/percpu-rwsem.o CC kernel/irq/spurious.o CC kernel/irq/resend.o LD arch/powerpc/kernel/built-in.o CC kernel/locking/rwsem-xadd.o LD kernel/power/built-in.o CC kernel/irq/chip.o CC kernel/irq/dummychip.o CC kernel/rcu/sync.o CC kernel/irq/devres.o LD security/built-in.o CC kernel/time/timer_list.o CC fs/stat.o CC kernel/time/timeconv.o CC fs/exec.o CC lib/lockref.o CC kernel/irq/irqdomain.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC fs/pipe.o CC kernel/sched/clock.o CC fs/namei.o CC mm/vmstat.o LD drivers/block/built-in.o LD drivers/bus/built-in.o CC mm/backing-dev.o LD drivers/cdrom/built-in.o LD drivers/char/ipmi/built-in.o CC mm/mm_init.o CC mm/mmu_context.o CC kernel/rcu/tiny.o CC mm/percpu.o LD drivers/clocksource/built-in.o CC drivers/char/mem.o CC kernel/time/timecounter.o CC lib/bcd.o CC kernel/time/alarmtimer.o CC lib/div64.o CC fs/fcntl.o LD drivers/firewire/built-in.o CC mm/slab_common.o CC fs/ioctl.o LD kernel/printk/built-in.o LD kernel/locking/built-in.o CC kernel/time/posix-stubs.o CC kernel/time/clockevents.o CC kernel/time/tick-common.o LD drivers/clk/bcm/built-in.o CC fs/readdir.o CC fs/select.o LD drivers/hwtracing/intel_th/built-in.o CC lib/sort.o CC kernel/sched/cputime.o CC lib/parser.o CC kernel/sched/idle_task.o CC drivers/base/component.o CC kernel/sched/fair.o CC mm/compaction.o LD drivers/clk/mvebu/built-in.o CC mm/vmacache.o CC mm/swap_slots.o CC mm/interval_tree.o LD drivers/firmware/broadcom/built-in.o CC lib/debug_locks.o CC mm/list_lru.o LD drivers/i2c/algos/built-in.o CC mm/workingset.o LD drivers/clk/ti/built-in.o LD drivers/firmware/meson/built-in.o CC mm/debug.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/gpu/drm/i2c/built-in.o LD drivers/gpu/drm/hisilicon/built-in.o CC fs/dcache.o LD drivers/i2c/busses/built-in.o LD drivers/clk/built-in.o CC mm/gup.o CC lib/random32.o CC lib/bust_spinlocks.o LD drivers/firmware/tegra/built-in.o CC lib/kasprintf.o LD drivers/gpu/drm/tilcdc/built-in.o CC lib/bitmap.o LD drivers/gpu/drm/panel/built-in.o CC kernel/sched/rt.o LD drivers/i2c/muxes/built-in.o LD drivers/idle/built-in.o LD drivers/firmware/built-in.o CC mm/highmem.o LD drivers/gpu/drm/omapdrm/displays/built-in.o CC mm/memory.o CC mm/mincore.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/i2c/built-in.o CC fs/inode.o CC fs/attr.o CC drivers/irqchip/irqchip.o CC fs/bad_inode.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/lguest/built-in.o LD kernel/irq/built-in.o CC drivers/base/core.o LD kernel/rcu/built-in.o CC mm/mlock.o LD drivers/macintosh/built-in.o CC mm/mmap.o LD drivers/mfd/built-in.o CC drivers/char/misc.o CC lib/scatterlist.o CC drivers/char/random.o LD drivers/gpu/drm/built-in.o LD drivers/mmc/built-in.o LD drivers/net/built-in.o CC mm/mremap.o CC mm/mprotect.o LD drivers/nfc/built-in.o CC fs/file.o CC mm/msync.o CC mm/page_vma_mapped.o CC lib/gcd.o CC mm/pagewalk.o LD drivers/misc/cb710/built-in.o LD drivers/nvme/host/built-in.o CC kernel/sched/deadline.o LD drivers/pci/dwc/built-in.o LD drivers/gpu/vga/built-in.o CC fs/filesystems.o CC mm/rmap.o CC mm/pgtable-generic.o CC mm/vmalloc.o LD drivers/gpu/built-in.o CC kernel/sched/stop_task.o CC lib/lcm.o LD drivers/misc/eeprom/built-in.o CC mm/init-mm.o LD drivers/nvme/target/built-in.o LD drivers/platform/built-in.o CC mm/nobootmem.o CC lib/list_sort.o CC mm/memblock.o CC drivers/of/base.o LD drivers/power/built-in.o CC fs/namespace.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/ptp/built-in.o LD drivers/irqchip/built-in.o LD drivers/nvme/built-in.o LD drivers/pwm/built-in.o CC drivers/pci/access.o LD drivers/char/agp/built-in.o CC kernel/sched/wait.o CC lib/uuid.o LD drivers/media/common/b2c2/built-in.o CC fs/seq_file.o LD drivers/soc/bcm/built-in.o LD drivers/misc/mic/bus/built-in.o CC mm/slub.o LD drivers/usb/host/built-in.o CC mm/dmapool.o CC lib/flex_array.o LD drivers/tty/ipwireless/built-in.o LD drivers/video/backlight/built-in.o CC lib/iov_iter.o CC fs/xattr.o CC kernel/sched/swait.o LD drivers/media/common/saa7146/built-in.o CC fs/libfs.o LD drivers/soc/fsl/built-in.o LD drivers/usb/built-in.o LD drivers/misc/mic/built-in.o CC kernel/sched/completion.o LD drivers/tty/serial/built-in.o CC kernel/sched/idle.o LD drivers/media/common/siano/built-in.o LD drivers/tty/vt/built-in.o LD drivers/soc/built-in.o CC lib/clz_ctz.o LD drivers/video/fbdev/core/built-in.o CC fs/fs-writeback.o LD drivers/misc/ti-st/built-in.o LD drivers/tty/built-in.o CC lib/bsearch.o LD drivers/media/common/v4l2-tpg/built-in.o CC drivers/pci/bus.o CC drivers/base/bus.o LD drivers/misc/built-in.o CC drivers/base/dd.o CC lib/find_bit.o LD drivers/media/common/built-in.o CC drivers/base/syscore.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/memweight.o CC lib/llist.o CC lib/kfifo.o CC lib/percpu-refcount.o CC lib/percpu_ida.o CC drivers/base/driver.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC drivers/base/class.o LD drivers/media/firewire/built-in.o CC fs/pnode.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC lib/rhashtable.o LD kernel/time/built-in.o CC lib/reciprocal_div.o LD drivers/media/i2c/soc_camera/built-in.o CC lib/once.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/char/built-in.o CC lib/refcount.o LD drivers/media/mmc/siano/built-in.o LD drivers/media/i2c/built-in.o CC fs/splice.o CC lib/string_helpers.o CC fs/sync.o CC lib/hexdump.o CC lib/kstrtox.o CC fs/utimes.o LD drivers/media/mmc/built-in.o LD drivers/video/fbdev/built-in.o CC lib/pci_iomap.o CC lib/iomap_copy.o CC lib/devres.o LD drivers/media/spi/built-in.o LD drivers/media/platform/omap/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/video/built-in.o CC lib/hweight.o LD drivers/media/rc/built-in.o LD drivers/media/platform/built-in.o CC lib/bitrev.o LD drivers/media/tuners/built-in.o CC drivers/base/platform.o CC drivers/pci/probe.o CC drivers/base/cpu.o CC fs/stack.o LD kernel/sched/built-in.o CC drivers/base/firmware.o HOSTCC lib/gen_crc32table LD kernel/built-in.o CC drivers/base/init.o CC drivers/pci/host-bridge.o CC lib/syscall.o LD drivers/media/pci/b2c2/built-in.o CC fs/fs_struct.o CC lib/atomic64.o CC drivers/base/map.o CC drivers/pci/pci.o CC drivers/pci/remove.o CC drivers/base/devres.o CC drivers/pci/pci-driver.o CC fs/statfs.o CC lib/strncpy_from_user.o LD drivers/media/pci/ddbridge/built-in.o CC lib/strnlen_user.o CC fs/fs_pin.o CC drivers/base/attribute_container.o LD drivers/media/usb/b2c2/built-in.o CC lib/argv_split.o LD drivers/media/usb/dvb-usb/built-in.o CC drivers/of/device.o CC lib/chacha20.o CC drivers/base/transport_class.o LD drivers/media/pci/dm1105/built-in.o CC fs/nsfs.o CC fs/no-block.o CC drivers/base/topology.o CC lib/cmdline.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/s2255/built-in.o CC lib/ctype.o CC lib/dec_and_lock.o LD drivers/media/pci/mantis/built-in.o LD fs/devpts/built-in.o CC lib/decompress.o CC lib/dump_stack.o LD drivers/media/usb/siano/built-in.o CC lib/extable.o LD drivers/media/usb/stkwebcam/built-in.o CC lib/earlycpio.o CC drivers/of/platform.o CC drivers/base/container.o LD fs/exofs/built-in.o CC drivers/base/property.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD fs/quota/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o CC fs/binfmt_elf.o CC lib/fdt.o CC lib/fdt_empty_tree.o CC drivers/base/cacheinfo.o CC fs/ramfs/inode.o CC fs/ramfs/file-mmu.o CC drivers/pci/search.o LD drivers/base/power/built-in.o CC drivers/pci/pci-sysfs.o CC lib/fdt_ro.o LD fs/notify/dnotify/built-in.o CC lib/fdt_rw.o LD drivers/media/usb/zr364xx/built-in.o CC lib/fdt_strerror.o CC lib/fdt_sw.o LD drivers/media/pci/ngene/built-in.o CC drivers/pci/rom.o CC lib/fdt_wip.o CC drivers/pci/setup-res.o CC lib/idr.o LD drivers/media/usb/built-in.o CC lib/flex_proportions.o LD fs/notify/fanotify/built-in.o CC lib/int_sqrt.o LD drivers/base/test/built-in.o CC lib/ioremap.o CC lib/irq_regs.o CC lib/is_single_threaded.o CC drivers/base/dma-mapping.o LD drivers/media/pci/pluto2/built-in.o CC drivers/pci/irq.o LD drivers/media/pci/pt1/built-in.o CC lib/klist.o CC drivers/pci/vpd.o CC lib/kobject.o LD drivers/media/pci/pt3/built-in.o CC lib/kobject_uevent.o CC drivers/pci/setup-bus.o CC lib/md5.o CC lib/nodemask.o CC lib/nmi_backtrace.o CC drivers/pci/vc.o CC lib/plist.o LD fs/notify/inotify/built-in.o CC lib/radix-tree.o CC lib/ratelimit.o LD drivers/media/pci/saa7146/built-in.o LD mm/built-in.o CC drivers/pci/syscall.o LD drivers/media/pci/smipcie/built-in.o CC lib/seq_buf.o LD drivers/media/pci/ttpci/built-in.o CC lib/rbtree.o CC lib/sha1.o CC drivers/pci/of.o LD drivers/pci/host/built-in.o CC lib/show_mem.o LD fs/notify/built-in.o CC lib/siphash.o LD drivers/media/pci/built-in.o CC drivers/of/fdt.o CC drivers/of/fdt_address.o CC lib/string.o CC drivers/of/address.o CC lib/timerqueue.o CC drivers/of/irq.o CC lib/win_minmax.o CC lib/vsprintf.o GEN lib/crc32table.h CC drivers/of/of_pci.o CC drivers/of/of_pci_irq.o CC drivers/of/of_reserved_mem.o CC lib/crc32.o LD drivers/media/built-in.o LD fs/ramfs/ramfs.o LD fs/ramfs/built-in.o LD fs/built-in.o LD drivers/base/built-in.o LD drivers/of/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-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc-5.3 # Build took: 0:00:13.180114