# git rev-parse -q --verify bf6a4d5b75d1ea87897fe68d0e45d35a2996c678^{commit} bf6a4d5b75d1ea87897fe68d0e45d35a2996c678 already have revision, skipping fetch # git checkout -q -f -B kisskb bf6a4d5b75d1ea87897fe68d0e45d35a2996c678 # git clean -qxdf # git log -1 commit bf6a4d5b75d1ea87897fe68d0e45d35a2996c678 Author: Cyril Bur Date: Mon Feb 29 17:53:51 2016 +1100 powerpc: Add the ability to save VSX without giving it up This patch adds the ability to be able to save the VSX registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch builds on a previous optimisation for the FPU and VEC registers in the thread copy path to avoid a possibly pointless reload of VSX state. Signed-off-by: Cyril Bur Signed-off-by: Michael Ellerman # < /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 bf6a4d5b75d1ea87897fe68d0e45d35a2996c678 # < make -j 240 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- allnoconfig # make -j 240 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory `/home/kisskb/slave/src' make[2]: Entering directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[2]: Leaving directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' make[2]: Entering directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h UPD include/config/kernel.release 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 CHK include/generated/uapi/linux/version.h WRAP arch/powerpc/include/generated/asm/vtime.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/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/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.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 LD usr/built-in.o CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/mem.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/pgtable.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/init_32.o UPD include/generated/compile.h CC arch/powerpc/lib/alloc.o CC arch/powerpc/mm/pgtable_32.o CC init/version.o LD arch/powerpc/platforms/built-in.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/mm/ppc_mmu_32.o CC arch/powerpc/lib/code-patching.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/div64.o CC arch/powerpc/lib/ppc_ksyms.o CC arch/powerpc/mm/tlb_hash32.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/align.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/kernel/signal_32.o LD arch/powerpc/net/built-in.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/process.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/signal.o LD certs/built-in.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/time.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/traps.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/dma.o AS arch/powerpc/kernel/misc_32.o LD ipc/built-in.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/kernel/prom_parse.o AS arch/powerpc/kernel/idle_6xx.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 CC security/commoncap.o CC arch/powerpc/kernel/pci_32.o LD crypto/built-in.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC security/min_addr.o LD block/built-in.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh CC arch/powerpc/kernel/iomap.o CC kernel/fork.o CC kernel/exec_domain.o LDS arch/powerpc/kernel/vdso32/vdso32.lds CC kernel/panic.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CC kernel/cpu.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CC kernel/exit.o CC kernel/softirq.o CC kernel/resource.o CC kernel/sysctl.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o AS arch/powerpc/kernel/systbl.o VDSO32A arch/powerpc/kernel/vdso32/note.o CC kernel/capability.o CC kernel/sysctl_binary.o CC kernel/ptrace.o CC kernel/user.o LD sound/built-in.o CC kernel/signal.o CC kernel/sys.o CC kernel/kmod.o LD arch/powerpc/lib/built-in.o CC fs/open.o CC kernel/workqueue.o LD firmware/built-in.o CC mm/filemap.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg CC fs/read_write.o LD net/built-in.o CC kernel/pid.o CC fs/file_table.o CC mm/mempool.o OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so CC mm/oom_kill.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC mm/maccess.o CC fs/super.o CC mm/page_alloc.o CC mm/page-writeback.o CC mm/readahead.o CC mm/swap.o CC kernel/task_work.o CC fs/exec.o CC fs/char_dev.o CC kernel/extable.o CC fs/stat.o CC mm/truncate.o CC kernel/params.o CC mm/vmscan.o CC fs/pipe.o CC mm/shmem.o CC mm/util.o CC kernel/kthread.o CC fs/namei.o CC kernel/sys_ni.o CC mm/mmzone.o LD virt/lib/built-in.o CC kernel/nsproxy.o CC fs/fcntl.o CC mm/vmstat.o CC kernel/notifier.o CC fs/ioctl.o CC kernel/ksysfs.o LD virt/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o CC mm/backing-dev.o CC fs/readdir.o CC fs/select.o CC mm/mm_init.o CC kernel/cred.o CC mm/mmu_context.o CC fs/dcache.o CC kernel/reboot.o CC mm/percpu.o CC mm/slab_common.o CC fs/inode.o CC kernel/async.o CC fs/attr.o CC mm/compaction.o CC kernel/range.o LD arch/powerpc/mm/built-in.o CC mm/vmacache.o CC fs/bad_inode.o CC kernel/smpboot.o CC fs/file.o CC mm/interval_tree.o CC fs/namespace.o CC fs/seq_file.o CC fs/filesystems.o CC fs/xattr.o CC mm/list_lru.o CC mm/workingset.o CC fs/libfs.o CC mm/debug.o CC fs/fs-writeback.o CC fs/pnode.o CC mm/gup.o LD kernel/livepatch/built-in.o CC fs/splice.o CC fs/sync.o CC mm/highmem.o CC kernel/printk/printk.o CC fs/utimes.o CC lib/lockref.o CC kernel/irq/irqdesc.o CC mm/memory.o CC fs/stack.o CC kernel/dma.o CC lib/bcd.o CC fs/fs_struct.o CC kernel/locking/mutex.o CC kernel/irq/handle.o CC lib/div64.o CC kernel/power/qos.o CC kernel/irq/manage.o CC kernel/irq/spurious.o CC kernel/locking/semaphore.o CC mm/mincore.o CC lib/sort.o CC fs/statfs.o CC fs/fs_pin.o CC kernel/locking/rwsem.o CC kernel/up.o CC kernel/irq/resend.o CC kernel/rcu/update.o CC kernel/rcu/sync.o CC lib/parser.o CC kernel/irq/chip.o CC kernel/locking/percpu-rwsem.o CC kernel/irq/dummychip.o CC fs/nsfs.o CC mm/mlock.o CC kernel/rcu/tiny.o CC kernel/locking/rwsem-xadd.o CC lib/halfmd4.o CC kernel/irq/devres.o CC lib/debug_locks.o CC fs/no-block.o CC kernel/irq/irqdomain.o CC kernel/elfcore.o CC mm/mmap.o CC kernel/sched/core.o CC mm/mprotect.o CC kernel/memremap.o CC kernel/sched/clock.o CC kernel/sched/cputime.o LD fs/devpts/built-in.o CC mm/mremap.o LD drivers/auxdisplay/built-in.o CC kernel/sched/loadavg.o CC lib/random32.o LD fs/exofs/built-in.o LD init/mounts.o LD drivers/amba/built-in.o CC kernel/sched/idle_task.o CC mm/msync.o CC fs/binfmt_elf.o LD fs/quota/built-in.o LD drivers/block/built-in.o LD drivers/bus/built-in.o CC lib/bust_spinlocks.o LD drivers/cdrom/built-in.o CC lib/kasprintf.o CC mm/rmap.o CC kernel/sched/fair.o LD init/built-in.o CC kernel/sched/rt.o CC fs/ramfs/inode.o CC mm/vmalloc.o CC kernel/sched/deadline.o LD drivers/clocksource/built-in.o LD drivers/firewire/built-in.o CC lib/bitmap.o CC mm/pagewalk.o CC kernel/sched/stop_task.o CC fs/ramfs/file-mmu.o LD drivers/gpio/built-in.o CC mm/pgtable-generic.o CC lib/scatterlist.o CC kernel/sched/wait.o CC lib/gcd.o CC lib/lcm.o CC mm/init-mm.o LD drivers/clk/bcm/built-in.o CC kernel/sched/completion.o LD drivers/hwtracing/intel_th/built-in.o CC drivers/char/mem.o CC kernel/sched/idle.o LD fs/notify/fanotify/built-in.o LD fs/notify/dnotify/built-in.o CC drivers/char/random.o CC drivers/irqchip/irqchip.o CC mm/memblock.o CC kernel/time/time.o CC mm/dmapool.o LD drivers/idle/built-in.o CC mm/nobootmem.o LD drivers/hsi/controllers/built-in.o CC drivers/char/misc.o CC kernel/time/timer.o CC kernel/time/hrtimer.o LD drivers/hsi/clients/built-in.o CC kernel/time/itimer.o LD drivers/lguest/built-in.o CC mm/slub.o LD drivers/clk/built-in.o CC lib/list_sort.o LD fs/notify/inotify/built-in.o LD drivers/i2c/algos/built-in.o CC lib/flex_array.o CC lib/uuid.o LD drivers/macintosh/built-in.o CC lib/iov_iter.o CC kernel/time/posix-timers.o CC lib/clz_ctz.o CC kernel/time/posix-cpu-timers.o LD drivers/leds/built-in.o LD drivers/mfd/built-in.o CC lib/bsearch.o CC lib/find_bit.o CC lib/llist.o CC kernel/time/ntp.o CC kernel/time/timekeeping.o LD drivers/net/built-in.o LD drivers/char/agp/built-in.o LD drivers/gpu/vga/built-in.o LD drivers/i2c/busses/built-in.o LD drivers/mmc/built-in.o LD drivers/nfc/built-in.o LD drivers/hsi/built-in.o CC lib/memweight.o CC lib/kfifo.o LD fs/notify/built-in.o LD drivers/i2c/muxes/built-in.o CC kernel/time/clocksource.o LD drivers/firmware/broadcom/built-in.o CC lib/percpu_ida.o CC lib/percpu-refcount.o CC lib/rhashtable.o CC kernel/time/jiffies.o LD drivers/platform/built-in.o CC lib/reciprocal_div.o LD drivers/power/built-in.o CC lib/once.o CC lib/string_helpers.o LD drivers/pwm/built-in.o CC lib/hexdump.o CC lib/kstrtox.o LD drivers/i2c/built-in.o LD drivers/firmware/built-in.o CC lib/pci_iomap.o CC kernel/time/timer_list.o CC lib/iomap_copy.o CC lib/devres.o LD drivers/nvme/host/built-in.o LD drivers/misc/cb710/built-in.o CC kernel/time/timecounter.o CC kernel/time/timeconv.o CC lib/hweight.o CC lib/bitrev.o CC kernel/time/posix-clock.o LD drivers/soc/bcm/built-in.o CC kernel/time/alarmtimer.o LD drivers/usb/host/built-in.o CC kernel/time/clockevents.o CC lib/syscall.o LD drivers/misc/eeprom/built-in.o CC drivers/base/component.o CC kernel/time/tick-common.o LD drivers/soc/fsl/built-in.o HOSTCC lib/gen_crc32table LD drivers/nvme/built-in.o LD drivers/gpu/drm/i2c/built-in.o CC drivers/base/core.o CC lib/strncpy_from_user.o CC lib/atomic64.o LD security/built-in.o CC lib/strnlen_user.o CC drivers/base/bus.o LD drivers/misc/ti-st/built-in.o LD drivers/tty/ipwireless/built-in.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/tty/serial/built-in.o CC lib/argv_split.o LD drivers/gpu/drm/tilcdc/built-in.o CC drivers/base/dd.o LD drivers/usb/built-in.o LD drivers/gpu/drm/panel/built-in.o LD drivers/soc/built-in.o LD drivers/video/backlight/built-in.o LD drivers/tty/vt/built-in.o CC drivers/of/base.o CC drivers/base/syscore.o CC lib/cmdline.o CC drivers/of/device.o CC lib/ctype.o CC drivers/base/driver.o LD drivers/misc/mic/bus/built-in.o CC drivers/base/class.o CC drivers/of/platform.o CC lib/dec_and_lock.o LD drivers/gpu/drm/omapdrm/displays/built-in.o CC lib/decompress.o CC drivers/base/platform.o CC lib/dump_stack.o CC lib/earlycpio.o LD drivers/misc/mic/built-in.o CC drivers/pci/access.o CC lib/extable.o CC drivers/of/fdt.o CC drivers/pci/bus.o CC drivers/base/cpu.o LD drivers/gpu/drm/omapdrm/dss/built-in.o CC lib/fdt.o CC drivers/of/fdt_address.o LD drivers/video/fbdev/core/built-in.o CC drivers/base/firmware.o LD drivers/media/firewire/built-in.o LD drivers/tty/built-in.o CC drivers/base/init.o CC drivers/pci/probe.o CC lib/fdt_empty_tree.o CC drivers/base/map.o CC lib/fdt_ro.o CC lib/fdt_rw.o LD drivers/gpu/drm/omapdrm/built-in.o CC drivers/base/devres.o CC drivers/pci/host-bridge.o CC lib/fdt_strerror.o LD drivers/media/tuners/built-in.o CC lib/fdt_sw.o LD drivers/misc/built-in.o CC drivers/pci/remove.o CC drivers/of/address.o CC drivers/base/attribute_container.o CC drivers/of/irq.o LD drivers/media/platform/omap/built-in.o CC lib/fdt_wip.o CC drivers/pci/pci.o LD drivers/media/mmc/siano/built-in.o CC drivers/of/of_pci.o CC drivers/base/topology.o CC drivers/base/transport_class.o LD drivers/gpu/drm/built-in.o CC lib/flex_proportions.o CC drivers/pci/pci-driver.o CC drivers/base/container.o CC drivers/pci/search.o CC drivers/of/of_pci_irq.o LD drivers/media/i2c/soc_camera/built-in.o CC lib/idr.o CC drivers/pci/pci-sysfs.o CC drivers/of/of_reserved_mem.o LD drivers/media/mmc/built-in.o CC lib/int_sqrt.o CC drivers/base/cacheinfo.o CC lib/ioremap.o LD drivers/media/platform/built-in.o LD drivers/media/i2c/built-in.o LD drivers/media/common/siano/built-in.o CC drivers/base/property.o CC lib/irq_regs.o LD drivers/media/common/b2c2/built-in.o LD drivers/media/common/saa7146/built-in.o CC drivers/pci/rom.o CC lib/is_single_threaded.o LD drivers/base/power/built-in.o CC drivers/pci/setup-res.o CC drivers/pci/irq.o LD drivers/media/rc/keymaps/built-in.o CC lib/klist.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o CC drivers/base/dma-mapping.o LD drivers/gpu/built-in.o CC drivers/pci/vpd.o CC drivers/pci/setup-bus.o LD drivers/media/rc/built-in.o LD drivers/media/common/built-in.o CC lib/kobject.o CC drivers/pci/vc.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/kobject_uevent.o CC lib/md5.o CC drivers/pci/syscall.o CC drivers/pci/of.o CC lib/plist.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC lib/nmi_backtrace.o CC lib/proportions.o LD kernel/rcu/built-in.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/seq_buf.o CC lib/sha1.o CC lib/show_mem.o LD drivers/media/usb/b2c2/built-in.o LD drivers/video/fbdev/omap2/built-in.o CC lib/string.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/pci/host/built-in.o CC lib/timerqueue.o LD drivers/media/usb/s2255/built-in.o CC lib/vsprintf.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o GEN lib/crc32table.h LD kernel/power/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o CC lib/crc32.o LD drivers/media/pci/pt1/built-in.o LD drivers/video/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/pci/smipcie/built-in.o LD kernel/printk/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/media/usb/built-in.o LD kernel/locking/built-in.o LD drivers/media/pci/pluto2/built-in.o LD fs/ramfs/ramfs.o LD drivers/irqchip/built-in.o LD fs/ramfs/built-in.o LD drivers/media/pci/built-in.o LD drivers/media/built-in.o LD kernel/irq/built-in.o LD arch/powerpc/kernel/built-in.o LD drivers/char/built-in.o LD drivers/of/built-in.o LD kernel/sched/built-in.o LD drivers/base/built-in.o LD lib/built-in.o LD mm/built-in.o LD kernel/time/built-in.o LD kernel/built-in.o LD fs/built-in.o AR lib/lib.a LD drivers/pci/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map /opt/cross/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[2]: Leaving directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' make[1]: Leaving directory `/home/kisskb/slave/src' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc # Build took: 0:00:11.515916