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