# git rev-parse -q --verify 656ad58ef19e2a763fa5c938b20ae0f6b8d67242^{commit} 656ad58ef19e2a763fa5c938b20ae0f6b8d67242 already have revision, skipping fetch # git checkout -q -f -B kisskb 656ad58ef19e2a763fa5c938b20ae0f6b8d67242 # git clean -qxdf # git log -1 commit 656ad58ef19e2a763fa5c938b20ae0f6b8d67242 Author: Oliver O'Halloran Date: Fri Jul 1 00:34:37 2016 +1000 powerpc/boot: Add OPAL console to epapr wrappers This patch adds an OPAL console backend to the powerpc boot wrapper so that decompression failures inside the wrapper can be reported to the user. This is important since it typically indicates data corruption in the firmware and other nasty things. Currently this only works when building a little endian kernel. When compiling a 64 bit BE kernel the wrapper is always build 32 bit to be compatible with some 32 bit firmwares. BE support will be added at a later date. Another limitation of this is that only the "raw" type of OPAL console is supported, however machines that provide a hvsi console also provide a raw console so this is not an issue in practice. Actually-written-by: Benjamin Herrenschmidt Signed-off-by: Oliver O'Halloran [mpe: Move #ifdef __powerpc64__ to avoid warnings on 32-bit] 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 656ad58ef19e2a763fa5c938b20ae0f6b8d67242 # < make -j 240 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/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/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[1]: Leaving directory `/home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc' make[1]: 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 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 CHK include/generated/uapi/linux/version.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/generated/uapi/linux/version.h UPD include/config/kernel.release 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/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s 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/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 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 LD arch/powerpc/sysdev/built-in.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 init/version.o CC arch/powerpc/mm/mmap.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/lib/alloc.o LD arch/powerpc/platforms/built-in.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/ppc_ksyms.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/mm/ppc_mmu_32.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/div64.o AS arch/powerpc/mm/hash_low_32.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/mm/tlb_hash32.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/kernel/irq.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 CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o LD arch/powerpc/net/built-in.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 CC arch/powerpc/kernel/udbg.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/io.o LD certs/built-in.o CC arch/powerpc/kernel/dma.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/misc_32.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 arch/powerpc/kernel/pci_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/vdso32/vdso32.lds LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o LD ipc/built-in.o VDSO32A arch/powerpc/kernel/vdso32/note.o CC security/commoncap.o CC security/min_addr.o AS arch/powerpc/kernel/systbl.o LD arch/powerpc/lib/built-in.o LD crypto/built-in.o CC kernel/fork.o CC kernel/exec_domain.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg CC kernel/panic.o CC kernel/cpu.o LD block/built-in.o CC kernel/exit.o CC kernel/softirq.o CC kernel/resource.o CC kernel/sysctl.o CC kernel/sysctl_binary.o CC kernel/capability.o OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so CC kernel/ptrace.o AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC kernel/user.o CC kernel/signal.o LD sound/built-in.o CC kernel/sys.o CC fs/open.o CC fs/read_write.o CC kernel/kmod.o CC fs/file_table.o CC kernel/workqueue.o CC fs/super.o CC fs/stat.o CC fs/char_dev.o CC kernel/pid.o CC kernel/task_work.o CC fs/pipe.o CC fs/exec.o CC kernel/extable.o CC fs/namei.o CC mm/filemap.o CC fs/fcntl.o LD firmware/built-in.o CC kernel/nsproxy.o CC mm/maccess.o CC kernel/params.o CC fs/dcache.o CC mm/oom_kill.o CC kernel/notifier.o CC mm/page-writeback.o CC mm/mempool.o CC fs/readdir.o CC mm/page_alloc.o CC kernel/kthread.o CC kernel/sys_ni.o CC kernel/ksysfs.o CC fs/select.o CC fs/ioctl.o CC fs/inode.o CC kernel/cred.o CC mm/readahead.o CC kernel/reboot.o CC fs/bad_inode.o CC mm/swap.o CC mm/truncate.o CC fs/attr.o CC mm/vmscan.o CC kernel/async.o CC mm/shmem.o CC fs/file.o LD net/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o CC fs/filesystems.o CC kernel/smpboot.o CC fs/seq_file.o CC mm/mmzone.o CC kernel/range.o CC mm/util.o CC fs/xattr.o CC fs/namespace.o CC mm/backing-dev.o CC fs/libfs.o CC kernel/dma.o CC fs/fs-writeback.o CC mm/vmstat.o CC fs/sync.o CC mm/mm_init.o CC kernel/memremap.o CC mm/mmu_context.o CC mm/percpu.o CC kernel/elfcore.o CC fs/utimes.o CC fs/pnode.o CC kernel/up.o CC fs/stack.o LD kernel/livepatch/built-in.o CC fs/splice.o CC fs/statfs.o CC fs/fs_struct.o CC mm/vmacache.o CC kernel/printk/printk.o CC mm/slab_common.o CC mm/interval_tree.o CC fs/nsfs.o CC mm/compaction.o CC mm/workingset.o LD arch/powerpc/mm/built-in.o CC fs/fs_pin.o CC kernel/rcu/update.o CC kernel/power/qos.o CC mm/list_lru.o CC mm/debug.o CC kernel/locking/mutex.o CC kernel/locking/semaphore.o CC kernel/rcu/sync.o CC kernel/rcu/tiny.o CC mm/highmem.o CC kernel/locking/rwsem.o CC fs/binfmt_elf.o CC mm/gup.o CC fs/no-block.o CC kernel/locking/percpu-rwsem.o CC fs/ramfs/inode.o CC mm/memory.o CC kernel/locking/rwsem-xadd.o LD fs/exofs/built-in.o CC fs/ramfs/file-mmu.o CC mm/mincore.o CC mm/mlock.o CC mm/mmap.o LD fs/devpts/built-in.o CC mm/mremap.o LD fs/quota/built-in.o CC mm/mprotect.o CC mm/msync.o CC mm/rmap.o CC kernel/irq/irqdesc.o CC kernel/irq/handle.o CC mm/pgtable-generic.o CC mm/pagewalk.o CC mm/vmalloc.o CC kernel/irq/manage.o CC kernel/irq/spurious.o CC mm/init-mm.o CC mm/nobootmem.o CC kernel/irq/resend.o CC mm/memblock.o CC kernel/irq/chip.o LD virt/lib/built-in.o CC lib/bcd.o CC kernel/irq/dummychip.o CC lib/div64.o CC kernel/sched/core.o CC kernel/irq/devres.o CC mm/slub.o CC lib/sort.o CC kernel/sched/loadavg.o LD fs/notify/dnotify/built-in.o CC kernel/time/time.o CC lib/lockref.o CC mm/dmapool.o CC kernel/irq/irqdomain.o CC kernel/sched/clock.o LD fs/notify/fanotify/built-in.o CC lib/parser.o CC kernel/time/timer.o LD fs/notify/inotify/built-in.o CC lib/halfmd4.o CC kernel/time/hrtimer.o CC lib/debug_locks.o CC kernel/sched/idle_task.o LD init/mounts.o CC kernel/time/itimer.o CC lib/random32.o CC kernel/time/posix-timers.o CC kernel/sched/cputime.o LD virt/built-in.o CC lib/bust_spinlocks.o CC kernel/time/posix-cpu-timers.o CC kernel/sched/fair.o CC lib/kasprintf.o CC kernel/time/ntp.o LD init/built-in.o CC lib/bitmap.o CC kernel/time/timekeeping.o CC kernel/time/clocksource.o LD fs/notify/built-in.o CC kernel/sched/rt.o CC lib/scatterlist.o CC kernel/sched/deadline.o CC lib/gcd.o CC kernel/time/jiffies.o CC kernel/sched/stop_task.o CC lib/lcm.o CC kernel/sched/wait.o CC kernel/sched/swait.o CC lib/list_sort.o CC kernel/sched/completion.o CC kernel/sched/idle.o CC kernel/time/timeconv.o CC lib/uuid.o CC kernel/time/timer_list.o CC lib/flex_array.o CC kernel/time/posix-clock.o CC kernel/time/timecounter.o CC kernel/time/alarmtimer.o CC lib/iov_iter.o CC kernel/time/clockevents.o CC lib/clz_ctz.o CC kernel/time/tick-common.o CC lib/bsearch.o CC lib/find_bit.o CC lib/llist.o CC lib/memweight.o CC lib/kfifo.o CC lib/percpu-refcount.o CC lib/percpu_ida.o CC lib/rhashtable.o CC lib/reciprocal_div.o CC lib/once.o CC lib/string_helpers.o LD kernel/rcu/built-in.o CC lib/hexdump.o CC lib/kstrtox.o CC lib/pci_iomap.o CC lib/iomap_copy.o CC lib/devres.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o LD drivers/bus/built-in.o CC lib/bitrev.o CC lib/hweight.o HOSTCC lib/gen_crc32table CC lib/syscall.o LD drivers/cdrom/built-in.o CC lib/atomic64.o LD drivers/block/built-in.o CC lib/strncpy_from_user.o LD drivers/clocksource/built-in.o LD drivers/firewire/built-in.o CC lib/strnlen_user.o CC drivers/char/mem.o LD kernel/power/built-in.o CC drivers/char/random.o CC drivers/char/misc.o LD drivers/gpio/built-in.o CC lib/argv_split.o CC drivers/base/component.o CC lib/cmdline.o CC lib/ctype.o CC drivers/base/core.o CC drivers/base/bus.o CC lib/dec_and_lock.o CC lib/decompress.o LD drivers/char/agp/built-in.o CC drivers/base/dd.o CC lib/dma-noop.o LD drivers/hwtracing/intel_th/built-in.o CC lib/dump_stack.o LD drivers/clk/mvebu/built-in.o CC lib/earlycpio.o CC drivers/base/syscore.o LD drivers/clk/bcm/built-in.o LD drivers/hsi/clients/built-in.o LD kernel/locking/built-in.o LD drivers/clk/ti/built-in.o LD drivers/gpu/vga/built-in.o CC lib/extable.o CC drivers/base/driver.o LD drivers/hsi/controllers/built-in.o CC lib/fdt.o LD drivers/firmware/broadcom/built-in.o CC lib/fdt_empty_tree.o CC drivers/base/class.o LD security/built-in.o LD drivers/idle/built-in.o CC drivers/irqchip/irqchip.o CC lib/fdt_ro.o LD drivers/leds/built-in.o LD drivers/firmware/built-in.o CC drivers/base/platform.o LD drivers/mfd/built-in.o CC lib/fdt_rw.o LD drivers/hsi/built-in.o CC drivers/base/cpu.o LD drivers/clk/built-in.o LD drivers/lguest/built-in.o LD drivers/macintosh/built-in.o CC lib/fdt_strerror.o CC drivers/base/firmware.o LD drivers/mmc/built-in.o CC drivers/base/init.o LD drivers/i2c/busses/built-in.o CC lib/fdt_sw.o LD drivers/i2c/muxes/built-in.o CC drivers/base/map.o LD drivers/i2c/algos/built-in.o CC lib/fdt_wip.o CC drivers/base/devres.o LD drivers/net/built-in.o LD fs/ramfs/ramfs.o LD drivers/gpu/drm/hisilicon/built-in.o LD drivers/gpu/drm/bridge/built-in.o LD drivers/nfc/built-in.o CC drivers/base/attribute_container.o CC drivers/base/transport_class.o CC lib/flex_proportions.o LD drivers/gpu/drm/panel/built-in.o CC drivers/base/topology.o CC drivers/base/container.o LD drivers/gpu/drm/i2c/built-in.o LD fs/ramfs/built-in.o CC lib/idr.o LD drivers/i2c/built-in.o LD drivers/pwm/built-in.o CC lib/int_sqrt.o LD drivers/platform/built-in.o CC drivers/base/property.o LD arch/powerpc/kernel/built-in.o CC lib/ioremap.o LD drivers/gpu/drm/tilcdc/built-in.o LD kernel/printk/built-in.o LD drivers/power/built-in.o CC lib/irq_regs.o CC drivers/base/cacheinfo.o LD drivers/gpu/drm/omapdrm/displays/built-in.o CC drivers/base/dma-mapping.o CC lib/is_single_threaded.o CC lib/klist.o LD drivers/gpu/drm/omapdrm/dss/built-in.o CC lib/kobject.o LD drivers/nvme/host/built-in.o LD drivers/base/power/built-in.o LD drivers/usb/host/built-in.o CC lib/kobject_uevent.o CC lib/md5.o LD drivers/misc/cb710/built-in.o LD drivers/soc/bcm/built-in.o CC lib/nmi_backtrace.o LD drivers/soc/fsl/built-in.o LD drivers/misc/eeprom/built-in.o LD drivers/usb/built-in.o CC lib/nodemask.o LD drivers/misc/lis3lv02d/built-in.o LD drivers/nvme/built-in.o CC lib/plist.o CC lib/radix-tree.o CC lib/ratelimit.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/tty/ipwireless/built-in.o LD drivers/video/backlight/built-in.o LD drivers/tty/vt/built-in.o LD drivers/media/firewire/built-in.o CC lib/rbtree.o LD drivers/misc/ti-st/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/tty/serial/built-in.o LD drivers/soc/built-in.o CC drivers/of/base.o CC drivers/of/device.o CC lib/seq_buf.o CC lib/sha1.o LD drivers/gpu/drm/built-in.o CC drivers/of/platform.o CC lib/show_mem.o LD drivers/media/i2c/soc_camera/built-in.o CC lib/string.o CC drivers/of/fdt.o LD drivers/misc/mic/built-in.o LD drivers/media/tuners/built-in.o CC lib/timerqueue.o CC drivers/pci/access.o LD drivers/tty/built-in.o CC drivers/of/fdt_address.o CC drivers/of/address.o CC drivers/pci/bus.o CC drivers/pci/probe.o LD drivers/media/common/b2c2/built-in.o CC lib/vsprintf.o LD drivers/video/fbdev/core/built-in.o CC drivers/of/irq.o LD drivers/media/common/siano/built-in.o CC drivers/pci/host-bridge.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/common/saa7146/built-in.o LD drivers/misc/built-in.o CC drivers/pci/remove.o CC drivers/of/of_pci.o LD drivers/media/common/v4l2-tpg/built-in.o LD drivers/gpu/built-in.o CC drivers/of/of_pci_irq.o LD drivers/media/mmc/siano/built-in.o CC drivers/pci/pci.o LD drivers/media/platform/omap/built-in.o CC drivers/pci/pci-driver.o LD drivers/media/rc/built-in.o GEN lib/crc32table.h CC drivers/pci/search.o CC drivers/pci/pci-sysfs.o CC drivers/of/of_reserved_mem.o CC drivers/pci/rom.o CC drivers/pci/setup-res.o LD drivers/media/i2c/built-in.o LD drivers/media/common/built-in.o LD drivers/media/mmc/built-in.o LD drivers/media/platform/built-in.o CC lib/crc32.o CC drivers/pci/vpd.o CC drivers/pci/irq.o CC drivers/pci/setup-bus.o CC drivers/pci/vc.o CC drivers/pci/syscall.o CC drivers/pci/of.o LD drivers/pci/host/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/media/pci/b2c2/built-in.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/video/fbdev/omap2/omapfb/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/video/fbdev/omap2/built-in.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/irqchip/built-in.o LD drivers/video/fbdev/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/usb/built-in.o LD drivers/media/pci/built-in.o LD drivers/video/built-in.o LD drivers/media/built-in.o LD kernel/irq/built-in.o LD drivers/char/built-in.o LD lib/built-in.o LD drivers/base/built-in.o LD drivers/of/built-in.o /home/kisskb/slave/src/mm/page_alloc.c: In function 'free_area_init_node': /home/kisskb/slave/src/mm/page_alloc.c:5798:17: warning: 'zone_start_pfn' may be used uninitialized in this function [-Wuninitialized] LD kernel/sched/built-in.o LD fs/built-in.o LD mm/built-in.o LD kernel/time/built-in.o LD kernel/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/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/powerpc-next_powerpc-allnoconfig_powerpc' Completed OK # rm -rf /home/kisskb/slave/build/powerpc-next_powerpc-allnoconfig_powerpc # Build took: 0:00:10.646167