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