# git rev-parse -q --verify 3d08f95aa90cf51469bdb98f1c8bfba550085aa4^{commit} 3d08f95aa90cf51469bdb98f1c8bfba550085aa4 already have revision, skipping fetch # git checkout -q -f -B kisskb 3d08f95aa90cf51469bdb98f1c8bfba550085aa4 # git clean -qxdf # git log -1 commit 3d08f95aa90cf51469bdb98f1c8bfba550085aa4 Author: Matt Brown Date: Thu Mar 30 10:28:01 2017 +1100 powerpc/powernv: Add 'firmware/exports' attributes to sysfs The HDAT data area is consumed by skiboot and turned into a device-tree. In some cases we would like to look directly at the HDAT. This is not possible through /dev/mem as it is reserved memory which is stopped by the /dev/mem filter. There are also other memory areas which are reserved but could be useful to view for debugging purposes. This patch adds sysfs nodes to allow specified memory areas to be viewed. sysfs nodes are created for each property in the device-tree under /ibm,opal/firmware/exports/, and adds them to /sys/firmware/opal/exports/ with root read-only permissions. Signed-off-by: Matt Brown [mpe: Drop counting of props, rename to attr, free on sysfs error] 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 3d08f95aa90cf51469bdb98f1c8bfba550085aa4 # < 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/vtime.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.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 HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/data.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/srcpos.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-lexer.lex.c HOSTCC scripts/dtc/dtc-lexer.lex.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/sumversion.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.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 CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o LD usr/built-in.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/mm/mmap.o AS arch/powerpc/lib/string.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/mm/ppc_mmu_32.o CC arch/powerpc/mm/init-common.o AS arch/powerpc/mm/hash_low_32.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/lib/code-patching.o AS arch/powerpc/lib/div64.o CC arch/powerpc/mm/mmu_context_hash32.o CC arch/powerpc/mm/tlb_hash32.o CC arch/powerpc/mm/hugetlbpage.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/lib/checksum_wrappers.o AS arch/powerpc/lib/crtsavres.o LD arch/powerpc/platforms/built-in.o LD arch/powerpc/math-emu/built-in.o LD arch/powerpc/crypto/built-in.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/process.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/time.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/kernel/io.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/of_platform.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/cpu_setup_6xx.o AS arch/powerpc/kernel/l2cr_6xx.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/pci_32.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds CC arch/powerpc/kernel/iomap.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh LD arch/powerpc/lib/built-in.o AS arch/powerpc/kernel/fpu.o AS arch/powerpc/kernel/systbl.o VDSO32A arch/powerpc/kernel/vdso32/note.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.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 LD ipc/built-in.o CC security/commoncap.o CC security/min_addr.o LD arch/powerpc/mm/built-in.o LD block/built-in.o LD crypto/built-in.o CC mm/mempool.o CC mm/page-writeback.o CC mm/readahead.o CC mm/oom_kill.o CC mm/page_alloc.o CC mm/swap.o CC mm/filemap.o CC mm/maccess.o CC mm/vmstat.o CC mm/util.o CC mm/mmzone.o CC mm/vmscan.o CC mm/truncate.o CC mm/interval_tree.o CC mm/mmu_context.o CC mm/backing-dev.o CC mm/shmem.o CC mm/mm_init.o CC mm/percpu.o CC mm/list_lru.o CC mm/workingset.o CC mm/swap_slots.o CC mm/highmem.o CC mm/vmacache.o CC mm/compaction.o CC mm/slab_common.o CC mm/gup.o CC mm/debug.o CC mm/memory.o CC kernel/fork.o CC kernel/exec_domain.o LD sound/built-in.o CC mm/mincore.o CC kernel/panic.o CC kernel/softirq.o CC mm/mlock.o CC kernel/cpu.o CC kernel/exit.o CC mm/mmap.o CC fs/open.o CC fs/read_write.o LD firmware/built-in.o CC mm/mprotect.o CC mm/mremap.o CC mm/msync.o CC mm/page_vma_mapped.o CC mm/pagewalk.o LD arch/powerpc/kernel/vdso32/built-in.o CC mm/pgtable-generic.o CC fs/file_table.o CC mm/rmap.o LD net/built-in.o LD init/mounts.o CC mm/vmalloc.o LD init/built-in.o CC mm/init-mm.o CC mm/memblock.o CC mm/nobootmem.o CC kernel/resource.o CC mm/dmapool.o CC mm/slub.o LD security/built-in.o CC kernel/sysctl.o CC fs/super.o LD arch/powerpc/kernel/built-in.o CC kernel/sysctl_binary.o CC kernel/capability.o CC fs/char_dev.o CC fs/stat.o CC kernel/ptrace.o CC fs/exec.o CC kernel/user.o CC fs/pipe.o CC kernel/signal.o CC fs/namei.o CC kernel/sys.o LD virt/lib/built-in.o CC fs/fcntl.o CC kernel/kmod.o CC kernel/workqueue.o CC fs/ioctl.o LD virt/built-in.o CC kernel/pid.o LD drivers/amba/built-in.o LD drivers/auxdisplay/built-in.o CC fs/readdir.o CC kernel/task_work.o CC fs/select.o CC fs/dcache.o CC fs/attr.o CC fs/inode.o LD drivers/block/built-in.o CC kernel/extable.o CC fs/bad_inode.o CC kernel/params.o CC kernel/kthread.o LD drivers/bus/built-in.o LD drivers/cdrom/built-in.o CC fs/file.o CC lib/lockref.o CC kernel/sys_ni.o CC kernel/nsproxy.o CC lib/bcd.o CC drivers/char/mem.o LD drivers/char/ipmi/built-in.o CC lib/div64.o CC kernel/notifier.o CC drivers/char/random.o CC drivers/base/component.o CC lib/sort.o CC drivers/base/core.o CC lib/parser.o CC drivers/base/bus.o CC drivers/base/dd.o LD drivers/clocksource/built-in.o CC drivers/base/syscore.o LD drivers/clk/bcm/built-in.o CC kernel/ksysfs.o CC kernel/cred.o CC kernel/async.o CC kernel/reboot.o LD drivers/clk/mvebu/built-in.o CC kernel/range.o CC fs/filesystems.o CC drivers/base/driver.o CC fs/namespace.o CC fs/seq_file.o LD drivers/clk/ti/built-in.o CC drivers/base/class.o CC fs/xattr.o LD drivers/clk/built-in.o CC drivers/char/misc.o CC drivers/base/platform.o CC drivers/base/cpu.o CC kernel/smpboot.o CC lib/debug_locks.o CC kernel/ucount.o CC drivers/base/firmware.o LD drivers/char/agp/built-in.o CC drivers/base/init.o CC fs/libfs.o CC lib/random32.o CC fs/fs-writeback.o LD drivers/firewire/built-in.o CC fs/splice.o CC fs/pnode.o CC drivers/base/map.o CC drivers/base/devres.o CC drivers/base/attribute_container.o CC drivers/base/transport_class.o CC drivers/base/topology.o CC drivers/base/container.o CC drivers/base/property.o CC drivers/base/cacheinfo.o LD drivers/base/power/built-in.o LD drivers/firmware/broadcom/built-in.o LD drivers/base/test/built-in.o CC drivers/base/dma-mapping.o LD drivers/firmware/meson/built-in.o CC fs/sync.o LD kernel/livepatch/built-in.o LD drivers/firmware/tegra/built-in.o CC fs/utimes.o CC fs/fs_struct.o CC fs/stack.o LD drivers/firmware/built-in.o CC kernel/locking/mutex.o CC kernel/locking/semaphore.o CC kernel/power/qos.o CC kernel/printk/printk.o CC kernel/dma.o CC kernel/irq/irqdesc.o CC kernel/up.o CC kernel/irq/handle.o CC kernel/rcu/update.o CC kernel/rcu/sync.o CC kernel/rcu/tiny.o CC lib/bitmap.o CC lib/scatterlist.o CC lib/bust_spinlocks.o CC lib/kasprintf.o CC kernel/irq/manage.o CC lib/gcd.o CC lib/lcm.o CC lib/list_sort.o CC kernel/sched/core.o CC kernel/time/time.o CC kernel/time/timer.o CC kernel/irq/spurious.o CC kernel/irq/resend.o CC lib/uuid.o CC kernel/time/hrtimer.o CC lib/flex_array.o CC kernel/time/timekeeping.o CC lib/iov_iter.o CC lib/clz_ctz.o CC lib/bsearch.o CC lib/find_bit.o CC kernel/time/ntp.o CC fs/statfs.o CC lib/llist.o LD drivers/char/built-in.o CC lib/memweight.o CC kernel/time/clocksource.o CC kernel/elfcore.o LD drivers/hwtracing/intel_th/built-in.o LD kernel/power/built-in.o CC kernel/time/jiffies.o LD drivers/idle/built-in.o CC drivers/irqchip/irqchip.o CC kernel/time/timer_list.o LD mm/built-in.o CC kernel/time/timeconv.o CC kernel/time/alarmtimer.o LD drivers/gpu/vga/built-in.o CC kernel/time/timecounter.o CC kernel/time/posix-stubs.o CC kernel/irq/chip.o LD drivers/i2c/algos/built-in.o LD drivers/i2c/muxes/built-in.o LD drivers/i2c/busses/built-in.o CC fs/fs_pin.o CC fs/nsfs.o CC kernel/locking/rwsem.o CC lib/kfifo.o LD drivers/lguest/built-in.o CC kernel/locking/percpu-rwsem.o CC lib/percpu-refcount.o CC kernel/locking/rwsem-xadd.o CC kernel/memremap.o LD drivers/i2c/built-in.o LD drivers/macintosh/built-in.o CC kernel/irq/devres.o CC kernel/irq/dummychip.o CC lib/percpu_ida.o LD kernel/rcu/built-in.o CC lib/reciprocal_div.o CC lib/rhashtable.o CC lib/once.o CC lib/refcount.o CC kernel/irq/irqdomain.o CC kernel/sched/loadavg.o LD drivers/gpu/drm/hisilicon/built-in.o CC kernel/sched/clock.o LD drivers/gpu/drm/bridge/built-in.o CC kernel/time/clockevents.o CC kernel/sched/cputime.o CC lib/string_helpers.o CC kernel/sched/idle_task.o CC kernel/sched/deadline.o CC kernel/sched/rt.o CC kernel/sched/fair.o LD drivers/gpu/drm/i2c/built-in.o CC kernel/sched/stop_task.o LD drivers/base/built-in.o LD drivers/gpu/drm/panel/built-in.o CC kernel/sched/wait.o CC lib/hexdump.o CC fs/no-block.o LD drivers/gpu/drm/tilcdc/built-in.o CC kernel/sched/swait.o CC lib/kstrtox.o CC kernel/sched/completion.o LD drivers/gpu/drm/omapdrm/displays/built-in.o LD kernel/printk/built-in.o CC kernel/time/tick-common.o LD fs/exofs/built-in.o LD fs/devpts/built-in.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD fs/quota/built-in.o CC kernel/sched/idle.o LD kernel/locking/built-in.o CC fs/binfmt_elf.o LD drivers/gpu/drm/omapdrm/built-in.o CC lib/pci_iomap.o LD drivers/irqchip/built-in.o LD drivers/mfd/built-in.o CC lib/iomap_copy.o CC lib/devres.o LD fs/notify/fanotify/built-in.o LD fs/notify/dnotify/built-in.o CC fs/ramfs/inode.o LD fs/notify/inotify/built-in.o LD drivers/gpu/drm/built-in.o LD drivers/net/built-in.o LD drivers/mmc/built-in.o CC fs/ramfs/file-mmu.o LD drivers/nfc/built-in.o LD fs/notify/built-in.o CC lib/hweight.o CC lib/bitrev.o LD drivers/pci/dwc/built-in.o HOSTCC lib/gen_crc32table LD drivers/power/built-in.o LD drivers/platform/built-in.o LD drivers/misc/cb710/built-in.o LD drivers/ptp/built-in.o CC lib/syscall.o LD drivers/gpu/built-in.o CC lib/atomic64.o LD drivers/misc/eeprom/built-in.o LD drivers/misc/lis3lv02d/built-in.o CC lib/strncpy_from_user.o CC lib/strnlen_user.o CC lib/cmdline.o CC lib/argv_split.o CC lib/chacha20.o CC lib/ctype.o LD drivers/misc/ti-st/built-in.o LD drivers/nvme/host/built-in.o LD drivers/nvme/target/built-in.o LD drivers/misc/mic/bus/built-in.o LD drivers/pwm/built-in.o CC lib/dec_and_lock.o CC drivers/of/base.o CC lib/decompress.o LD drivers/nvme/built-in.o CC lib/dump_stack.o LD drivers/soc/bcm/built-in.o LD drivers/misc/mic/built-in.o LD drivers/media/firewire/built-in.o CC lib/earlycpio.o LD drivers/misc/built-in.o LD kernel/irq/built-in.o LD drivers/media/i2c/soc_camera/built-in.o CC drivers/of/platform.o LD drivers/usb/host/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/tty/ipwireless/built-in.o LD fs/ramfs/ramfs.o LD drivers/tty/vt/built-in.o CC drivers/of/device.o LD drivers/video/backlight/built-in.o CC drivers/of/fdt.o LD drivers/media/i2c/built-in.o CC drivers/pci/bus.o CC drivers/pci/access.o LD drivers/tty/serial/built-in.o LD fs/ramfs/built-in.o CC lib/fdt.o LD drivers/soc/built-in.o LD drivers/media/spi/built-in.o LD drivers/usb/built-in.o LD drivers/media/mmc/siano/built-in.o CC lib/extable.o CC lib/fdt_empty_tree.o CC drivers/pci/host-bridge.o CC drivers/pci/probe.o LD drivers/media/tuners/built-in.o LD drivers/tty/built-in.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/common/saa7146/built-in.o CC drivers/pci/remove.o CC lib/fdt_ro.o LD drivers/media/common/b2c2/built-in.o LD drivers/media/platform/omap/built-in.o CC lib/fdt_rw.o LD drivers/media/mmc/built-in.o CC lib/fdt_sw.o LD drivers/media/common/siano/built-in.o LD drivers/video/fbdev/core/built-in.o CC drivers/of/address.o CC lib/fdt_wip.o CC drivers/pci/pci-driver.o CC lib/fdt_strerror.o LD drivers/media/rc/built-in.o CC drivers/of/fdt_address.o CC drivers/pci/pci.o LD drivers/media/common/v4l2-tpg/built-in.o CC drivers/of/irq.o CC lib/idr.o CC drivers/of/of_pci.o CC drivers/of/of_reserved_mem.o LD drivers/media/platform/built-in.o CC lib/flex_proportions.o CC drivers/pci/search.o CC drivers/pci/pci-sysfs.o CC lib/int_sqrt.o CC drivers/of/of_pci_irq.o CC drivers/pci/irq.o CC lib/ioremap.o CC drivers/pci/rom.o CC drivers/pci/setup-res.o CC lib/irq_regs.o CC drivers/pci/vpd.o CC lib/is_single_threaded.o LD drivers/media/common/built-in.o CC lib/klist.o CC lib/kobject_uevent.o CC lib/kobject.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/md5.o CC drivers/pci/setup-bus.o LD fs/built-in.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD kernel/sched/built-in.o CC lib/nmi_backtrace.o LD drivers/media/usb/b2c2/built-in.o CC drivers/pci/syscall.o CC drivers/pci/vc.o LD drivers/video/fbdev/omap2/omapfb/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/media/usb/s2255/built-in.o LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/pci/b2c2/built-in.o CC drivers/pci/of.o LD drivers/media/usb/siano/built-in.o CC lib/plist.o CC lib/nodemask.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/pci/dm1105/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o LD drivers/media/pci/ddbridge/built-in.o LD drivers/video/fbdev/omap2/built-in.o CC lib/radix-tree.o LD drivers/pci/host/built-in.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/video/fbdev/built-in.o CC lib/ratelimit.o CC lib/rbtree.o LD drivers/media/pci/ngene/built-in.o CC lib/seq_buf.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/saa7146/built-in.o CC lib/sha1.o LD drivers/media/usb/built-in.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/video/built-in.o CC lib/show_mem.o CC lib/string.o CC lib/siphash.o CC lib/timerqueue.o CC lib/win_minmax.o CC lib/vsprintf.o GEN lib/crc32table.h LD drivers/media/pci/built-in.o CC lib/crc32.o LD drivers/media/built-in.o LD kernel/time/built-in.o LD kernel/built-in.o LD drivers/of/built-in.o AR lib/lib.a EXPORTS lib/lib-ksyms.o LD lib/built-in.o LD drivers/pci/built-in.o LD drivers/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:15.025790