Message ID | c6ff2faba7fbb56a7f5b5f08cd3453f89fc0aaf4.1557480165.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | Accepted |
Commit | 6c5875843b87c3adea2beade9d1b8b3d4523900a |
Headers | show |
Series | [v2] powerpc: slightly improve cache helpers | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (8150a153c013aa2dd1ffae43370b89ac1347a7fb) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 26 lines checked |
On Fri, 2019-05-10 at 09:24:48 UTC, Christophe Leroy wrote: > Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers > that are summed to obtain the target address. Using 'Z' constraint > and '%y0' argument gives GCC the opportunity to use both registers > instead of only one with the second being forced to 0. > > Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/6c5875843b87c3adea2beade9d1b8b3d4523900a cheers
On Mon, Jul 08, 2019 at 11:19:30AM +1000, Michael Ellerman wrote: > On Fri, 2019-05-10 at 09:24:48 UTC, Christophe Leroy wrote: > > Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers > > that are summed to obtain the target address. Using 'Z' constraint > > and '%y0' argument gives GCC the opportunity to use both registers > > instead of only one with the second being forced to 0. > > > > Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> > > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > > Applied to powerpc next, thanks. > > https://git.kernel.org/powerpc/c/6c5875843b87c3adea2beade9d1b8b3d4523900a > > cheers This patch causes a regression with clang: https://travis-ci.com/ClangBuiltLinux/continuous-integration/jobs/213944668 I've attached my local bisect/build log. Cheers, Nathan git bisect start # good: [46713c3d2f8da5e3d8ddd2249bcb1d9974fb5d28] Merge tag 'for-linus-20190706' of git://git.kernel.dk/linux-block git bisect good 46713c3d2f8da5e3d8ddd2249bcb1d9974fb5d28 # bad: [d58b5ab90ee7528126fd5833df7fc5bda8331ce8] Add linux-next specific files for 20190708 git bisect bad d58b5ab90ee7528126fd5833df7fc5bda8331ce8 # bad: [ba30fb6d5d6464bd7d3759408ea7f178d8c9fe87] Merge remote-tracking branch 'crypto/master' git bisect bad ba30fb6d5d6464bd7d3759408ea7f178d8c9fe87 # bad: [eaa0d0d3b269695df5d682d3dfcfb5c6e8f19fa8] Merge remote-tracking branch 'i3c/i3c/next' git bisect bad eaa0d0d3b269695df5d682d3dfcfb5c6e8f19fa8 # good: [e41aad4a290783ec7d3730542cbed0e99b2dcb4a] Merge remote-tracking branch 'tegra/for-next' git bisect good e41aad4a290783ec7d3730542cbed0e99b2dcb4a # bad: [c5a28b5f954e769decf4b69c06ecfd27ebeaeb5b] Merge remote-tracking branch 'cifs/for-next' git bisect bad c5a28b5f954e769decf4b69c06ecfd27ebeaeb5b # bad: [8e8fefda572360f00854547f3458a9c2cf932ff5] Merge remote-tracking branch 'powerpc/next' git bisect bad 8e8fefda572360f00854547f3458a9c2cf932ff5 # good: [01fd0e565283d69adf0ff1da95cab5bb4cb58acb] Merge remote-tracking branch 'm68k/for-next' git bisect good 01fd0e565283d69adf0ff1da95cab5bb4cb58acb # good: [7505a13f85bdcb8713551a067dfc92ac3c7ba902] powerpc/configs: Disable latencytop git bisect good 7505a13f85bdcb8713551a067dfc92ac3c7ba902 # good: [958ace9b9edae56953190fdbdddc55d6506ec6f7] Merge remote-tracking branch 'nios2/for-next' git bisect good 958ace9b9edae56953190fdbdddc55d6506ec6f7 # bad: [1cfb725fb1899dc6fdc88f8b5354a65e8ad260c6] powerpc/64: flush_inval_dcache_range() becomes flush_dcache_range() git bisect bad 1cfb725fb1899dc6fdc88f8b5354a65e8ad260c6 # good: [89a3496e0664577043666791ec07fb731d57c950] powerpc/mm/radix: Use the right page size for vmemmap mapping git bisect good 89a3496e0664577043666791ec07fb731d57c950 # good: [259a948c4ba1829ae4a3c31bb6e40ad458a21254] powerpc/pseries/scm: Use a specific endian format for storing uuid from the device tree git bisect good 259a948c4ba1829ae4a3c31bb6e40ad458a21254 # good: [2230ebf6e6dd0b7751e2921b40f6cfe34f09bb16] powerpc/mm: Handle page table allocation failures git bisect good 2230ebf6e6dd0b7751e2921b40f6cfe34f09bb16 # good: [ac25ba68fa4001c85395f0488b1c7a2421c5aada] powerpc/mm/hugetlb: Don't enable HugeTLB if we don't have a page table cache git bisect good ac25ba68fa4001c85395f0488b1c7a2421c5aada # bad: [6c5875843b87c3adea2beade9d1b8b3d4523900a] powerpc: slightly improve cache helpers git bisect bad 6c5875843b87c3adea2beade9d1b8b3d4523900a # first bad commit: [6c5875843b87c3adea2beade9d1b8b3d4523900a] powerpc: slightly improve cache helpers make[1]: Entering directory '/mnt/build/kernel' CLEAN . CLEAN arch/powerpc/kernel/vdso32 CLEAN arch/powerpc/kernel CLEAN lib CLEAN drivers/scsi CLEAN usr CLEAN scripts/basic CLEAN scripts/dtc rm -f .tmp_symbols.txt CLEAN scripts/mod CLEAN scripts/kconfig CLEAN scripts CLEAN arch/powerpc/boot CLEAN .tmp_versions CLEAN modules.builtin.modinfo CLEAN include/config include/generated arch/powerpc/include/generated CLEAN .config .config.old .version Module.symvers HOSTCC scripts/basic/fixdep GEN Makefile HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/confdata.o LEX scripts/kconfig/lexer.lex.c YACC scripts/kconfig/parser.tab.h YACC scripts/kconfig/parser.tab.c HOSTCC scripts/kconfig/expr.o HOSTCC scripts/kconfig/symbol.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/parser.tab.o HOSTCC scripts/kconfig/lexer.lex.o HOSTLD scripts/kconfig/conf # # configuration written to .config # SYSTBL arch/powerpc/include/generated/asm/syscall_table_64.h SYSTBL arch/powerpc/include/generated/asm/syscall_table_c32.h SYSTBL arch/powerpc/include/generated/asm/syscall_table_32.h SYSTBL arch/powerpc/include/generated/asm/syscall_table_spu.h SYSHDR arch/powerpc/include/generated/uapi/asm/unistd_64.h SYSHDR arch/powerpc/include/generated/uapi/asm/unistd_32.h GEN Makefile WRAP arch/powerpc/include/generated/uapi/asm/poll.h WRAP arch/powerpc/include/generated/uapi/asm/resource.h WRAP arch/powerpc/include/generated/uapi/asm/sockios.h WRAP arch/powerpc/include/generated/uapi/asm/siginfo.h WRAP arch/powerpc/include/generated/uapi/asm/param.h WRAP arch/powerpc/include/generated/uapi/asm/statfs.h UPD include/generated/uapi/linux/version.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/export.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/vtime.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/msi.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/simd.h HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/checks.o LEX scripts/dtc/dtc-lexer.lex.c YACC scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/yamltree.o YACC scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc-lexer.lex.o UPD include/config/kernel.release Using /home/nathan/cbl/linux-next as source for kernel UPD include/generated/utsrelease.h HOSTLD scripts/dtc/dtc HOSTCC scripts/kallsyms HOSTCC scripts/sortextable HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s CC scripts/mod/empty.o UPD 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/mod/modpost CC kernel/bounds.s CALL /home/nathan/cbl/linux-next/scripts/atomic/check-atomics.sh UPD include/generated/timeconst.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s UPD include/generated/asm-offsets.h CALL /home/nathan/cbl/linux-next/scripts/checksyscalls.sh make[1]: Leaving directory '/mnt/build/kernel' real 6.758 user 12.037 sys 4.859 make[1]: Entering directory '/mnt/build/kernel' GEN Makefile scripts/kconfig/conf --syncconfig Kconfig GEN Makefile Using /home/nathan/cbl/linux-next as source for kernel DTC arch/powerpc/boot/dts/virtex440-ml507.dtb DTC arch/powerpc/boot/dts/virtex440-ml510.dtb /home/nathan/cbl/linux-next/arch/powerpc/boot/dts/virtex440-ml510.dts:335.37-439.6: Warning (pci_bridge): /plb@0/plbv46-pci@85e00000: node name is not "pci" or "pcie" arch/powerpc/boot/dts/virtex440-ml510.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' CC scripts/mod/devicetable-offsets.s CC scripts/mod/empty.o MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/mod/file2alias.o HOSTLD scripts/mod/modpost CC kernel/bounds.s CALL /home/nathan/cbl/linux-next/scripts/atomic/check-atomics.sh UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s UPD include/generated/asm-offsets.h CALL /home/nathan/cbl/linux-next/scripts/checksyscalls.sh CHK include/generated/compile.h CC init/main.o CC init/do_mounts.o CC init/do_mounts_rd.o CC init/do_mounts_initrd.o HOSTCC usr/gen_init_cpio CC init/initramfs.o CC init/init_task.o UPD include/generated/compile.h AR arch/powerpc/crypto/built-in.a AR arch/powerpc/net/built-in.a AS arch/powerpc/sysdev/dcr-low.o LDS arch/powerpc/kernel/vdso32/vdso32.lds CC init/version.o AS arch/powerpc/platforms/44x/misc_44x.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/mm/fault.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/mm/mem.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/trace/trace_clock.o CC arch/powerpc/platforms/4xx/uic.o AR certs/built-in.a CC arch/powerpc/mm/mmap.o CC arch/powerpc/lib/alloc.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o CC kernel/bpf/core.o CC arch/powerpc/platforms/44x/machine_check.o CC arch/powerpc/mm/init_32.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o GEN usr/initramfs_data.cpio VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o AS usr/initramfs_data.o AR arch/powerpc/kernel/trace/built-in.a VDSO32A arch/powerpc/kernel/vdso32/note.o AR usr/built-in.a CC arch/powerpc/mm/nohash/mmu_context.o CC arch/powerpc/mm/nohash/tlb.o CC arch/powerpc/kernel/align.o CC arch/powerpc/sysdev/msi_bitmap.o CC arch/powerpc/sysdev/indirect_pci.o CC arch/powerpc/sysdev/xilinx_intc.o CC arch/powerpc/sysdev/of_rtc.o AS arch/powerpc/mm/nohash/tlb_low.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg ld.lld: warning: cannot find entry symbol _start; defaulting to 0x3E0 OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o CC arch/powerpc/math-emu/math.o CC arch/powerpc/math-emu/fre.o CC arch/powerpc/math-emu/fsqrt.o CC arch/powerpc/math-emu/fsqrts.o CC arch/powerpc/math-emu/frsqrtes.o CC arch/powerpc/math-emu/mtfsf.o AR arch/powerpc/kernel/vdso32/built-in.a CC arch/powerpc/sysdev/dcr.o CC arch/powerpc/platforms/44x/ppc44x_simple.o CC arch/powerpc/platforms/4xx/machine_check.o CC mm/filemap.o CC arch/powerpc/mm/nohash/44x.o CC arch/powerpc/mm/pgtable_32.o CC fs/cramfs/inode.o CC fs/cramfs/uncompress.o CC arch/powerpc/mm/pgtable-frag.o CC mm/mempool.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/platforms/44x/ebony.o CC arch/powerpc/platforms/4xx/soc.o CC arch/powerpc/platforms/44x/sam440ep.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/mm/mmu_context.o CC arch/powerpc/platforms/4xx/pci.o CC arch/powerpc/platforms/44x/warp.o CC arch/powerpc/kernel/process.o CC ipc/util.o CC fs/debugfs/inode.o CC fs/debugfs/file.o CC ipc/msgutil.o AS arch/powerpc/kernel/systbl.o CC arch/powerpc/math-emu/mtfsfi.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/math-emu/fabs.o CC arch/powerpc/platforms/4xx/msi.o CC arch/powerpc/platforms/4xx/cpm.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/mm/drmem.o AR arch/powerpc/sysdev/built-in.a CC security/commoncap.o CC arch/powerpc/kernel/signal.o AR arch/powerpc/mm/nohash/built-in.a AS arch/powerpc/lib/string.o AR init/built-in.a CC fs/devpts/inode.o AS arch/powerpc/lib/memcmp_32.o CC arch/powerpc/platforms/4xx/gpio.o CC mm/oom_kill.o CC arch/powerpc/mm/dma-noncoherent.o CC fs/exportfs/expfs.o AS arch/powerpc/lib/strlen_32.o CC mm/fadvise.o CC arch/powerpc/math-emu/fadd.o CC mm/maccess.o CC kernel/dma/mapping.o CC ipc/msg.o CC arch/powerpc/math-emu/fadds.o AS arch/powerpc/lib/div64.o CC kernel/dma/direct.o CC crypto/api.o AS arch/powerpc/lib/copy_32.o CC arch/powerpc/math-emu/fcmpo.o CC crypto/cipher.o CC kernel/irq/irqdesc.o CC arch/powerpc/platforms/44x/virtex.o CC arch/powerpc/platforms/44x/canyonlands.o AS arch/powerpc/lib/crtsavres.o CC fs/ext2/balloc.o AR fs/cramfs/built-in.a CC crypto/compress.o AR fs/debugfs/built-in.a CC fs/ext2/dir.o CC kernel/dma/dummy.o CC kernel/dma/coherent.o AR kernel/livepatch/built-in.a CC fs/ext2/file.o CC security/min_addr.o CC block/partitions/check.o CC kernel/irq/handle.o AS arch/powerpc/lib/checksum_32.o AR fs/exportfs/built-in.a CC arch/powerpc/math-emu/fcmpu.o CC block/bio.o AR arch/powerpc/platforms/4xx/built-in.a CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/kernel/sysfs.o AR fs/devpts/built-in.a CC kernel/irq/manage.o AR drivers/amba/built-in.a CC arch/powerpc/kernel/cacheinfo.o AR arch/powerpc/mm/built-in.a AR drivers/auxdisplay/built-in.a CC block/elevator.o AS arch/powerpc/lib/string_32.o AR kernel/bpf/built-in.a CC arch/powerpc/kernel/time.o CC crypto/memneq.o CC drivers/base/power/sysfs.o AR drivers/base/firmware_loader/builtin/built-in.a AR drivers/base/test/built-in.a CC arch/powerpc/lib/sstep.o CC drivers/base/firmware_loader/main.o CC drivers/block/brd.o AR sound/built-in.a CC block/blk-core.o CC block/blk-sysfs.o AR security/built-in.a AR arch/powerpc/platforms/44x/built-in.a AR arch/powerpc/platforms/built-in.a CC drivers/base/component.o CC arch/powerpc/math-emu/fctiw.o CC arch/powerpc/kernel/prom.o AR kernel/dma/built-in.a CC crypto/crypto_wq.o CC crypto/algapi.o CC crypto/scatterwalk.o CC mm/page-writeback.o CC ipc/sem.o AR net/802/built-in.a CC arch/powerpc/math-emu/fctiwz.o CC [M] net/802/p8022.o CC kernel/irq/spurious.o CC arch/powerpc/math-emu/fdiv.o CC crypto/proc.o CC fs/ext2/ialloc.o CC kernel/irq/resend.o CC [M] net/802/psnap.o CC drivers/base/power/generic_ops.o CC block/partitions/msdos.o CC block/partitions/efi.o CC arch/powerpc/math-emu/fdivs.o CC crypto/aead.o CC kernel/irq/chip.o CC lib/lz4/lz4_decompress.o CC block/blk-flush.o CC block/blk-settings.o CC block/blk-ioc.o CC lib/lzo/lzo1x_decompress_safe.o AR drivers/base/firmware_loader/built-in.a AS arch/powerpc/lib/ldstfp.o CC [M] lib/lzo/lzo1x_compress.o CC drivers/base/power/common.o CC drivers/block/virtio_blk.o CC block/blk-map.o CC arch/powerpc/kernel/traps.o CC kernel/locking/mutex.o AR arch/powerpc/lib/built-in.a CC crypto/ablkcipher.o CC crypto/blkcipher.o CC drivers/base/power/qos.o CC block/blk-exec.o CC arch/powerpc/math-emu/fmadd.o CC kernel/irq/dummychip.o AR virt/lib/built-in.a AR virt/built-in.a CC arch/powerpc/math-emu/fmadds.o CC block/blk-merge.o AR drivers/bus/built-in.a CC [M] net/802/stp.o CC mm/readahead.o CC arch/powerpc/kernel/setup-common.o CC fs/ext2/inode.o CC crypto/skcipher.o CC ipc/shm.o CC arch/powerpc/kernel/udbg.o CC ipc/syscall.o AR lib/lz4/built-in.a AR drivers/cdrom/built-in.a CC crypto/ahash.o CC lib/math/div64.o CC lib/math/gcd.o AR block/partitions/built-in.a AR drivers/char/agp/built-in.a CC kernel/irq/devres.o CC lib/xz/xz_dec_syms.o CC [M] drivers/char/xilinx_hwicap/xilinx_hwicap.o CC lib/math/lcm.o CC lib/xz/xz_dec_stream.o AR lib/lzo/built-in.a CC kernel/locking/semaphore.o CC kernel/locking/rwsem.o LD [M] lib/lzo/lzo_compress.o CC block/blk-softirq.o CC arch/powerpc/math-emu/fmsub.o CC drivers/base/power/runtime.o CC arch/powerpc/math-emu/fmsubs.o CC kernel/locking/percpu-rwsem.o CC drivers/base/power/wakeirq.o CC drivers/char/mem.o CC [M] drivers/char/xilinx_hwicap/fifo_icap.o CC lib/math/int_pow.o CC drivers/base/power/main.o CC crypto/shash.o CC kernel/irq/irqdomain.o CC crypto/akcipher.o CC lib/zlib_deflate/deflate.o AR net/bpf/built-in.a CC [M] drivers/block/xsysace.o CC lib/math/int_sqrt.o CC [M] net/bridge/br.o CC drivers/char/random.o CC kernel/locking/rwsem-xadd.o CC lib/xz/xz_dec_lzma2.o CC [M] drivers/char/xilinx_hwicap/buffer_icap.o AS arch/powerpc/kernel/misc.o CC mm/swap.o CC lib/math/reciprocal_div.o CC kernel/locking/mutex-debug.o CC mm/truncate.o CC [M] net/bridge/br_device.o CC arch/powerpc/kernel/io.o CC arch/powerpc/math-emu/fmul.o CC block/blk-timeout.o CC lib/zlib_inflate/inffast.o CC lib/zlib_inflate/inflate.o CC ipc/ipc_sysctl.o CC drivers/base/power/wakeup.o CC mm/vmscan.o CC fs/ext2/ioctl.o CC lib/bcd.o CC lib/lockref.o AR lib/math/built-in.a CC [M] net/bridge/br_fdb.o CC [M] net/bridge/br_forward.o CC block/blk-lib.o AS arch/powerpc/kernel/misc_32.o CC lib/zlib_deflate/deftree.o CC lib/zlib_inflate/infutil.o CC lib/zlib_inflate/inftrees.o CC lib/xz/xz_dec_bcj.o CC crypto/kpp.o CC crypto/acompress.o CC ipc/mqueue.o CC crypto/scompress.o CC ipc/mq_sysctl.o LD [M] drivers/char/xilinx_hwicap/xilinx_hwicap_m.o CC crypto/algboss.o CC drivers/char/misc.o CC kernel/irq/proc.o CC kernel/irq/pm.o CC kernel/locking/lockdep.o CC kernel/irq/msi.o CC block/blk-mq.o CC block/blk-mq-tag.o CC arch/powerpc/math-emu/fmuls.o CC arch/powerpc/math-emu/fnabs.o CC fs/ext2/namei.o CC lib/zlib_inflate/inflate_syms.o AR drivers/block/built-in.a AR drivers/char/ipmi/built-in.a CC net/core/sock.o CC block/blk-stat.o AR lib/xz/built-in.a CC kernel/power/qos.o CC block/blk-mq-sysfs.o CC kernel/locking/lockdep_proc.o CC kernel/power/main.o CC arch/powerpc/kernel/of_platform.o CC block/blk-mq-cpumap.o AR drivers/clk/actions/built-in.a CC arch/powerpc/math-emu/fneg.o AR drivers/clk/analogbits/built-in.a AR drivers/clk/bcm/built-in.a CC lib/zlib_deflate/deflate_syms.o AR drivers/clk/imgtec/built-in.a CC drivers/char/nvram.o CC kernel/power/process.o AR drivers/base/power/built-in.a CC drivers/base/core.o AR drivers/clk/imx/built-in.a AR lib/zlib_inflate/built-in.a CC [M] net/bridge/br_if.o CC arch/powerpc/kernel/prom_parse.o AR drivers/clk/ingenic/built-in.a CC mm/shmem.o AR drivers/clk/mediatek/built-in.a CC crypto/testmgr.o CC net/ethernet/eth.o AR kernel/irq/built-in.a CC crypto/crypto_null.o CC kernel/locking/spinlock.o CC [M] net/bridge/br_input.o CC fs/ext2/super.o AR drivers/clk/mvebu/built-in.a CC kernel/printk/printk.o CC net/ipv4/route.o AR drivers/clk/renesas/built-in.a CC arch/powerpc/math-emu/fnmadd.o AR drivers/clk/ti/built-in.a AR drivers/clk/built-in.a CC mm/util.o CC mm/mmzone.o AR lib/zlib_deflate/built-in.a CC kernel/printk/printk_safe.o CC lib/sort.o CC kernel/locking/rtmutex.o CC fs/ext2/symlink.o AR drivers/clocksource/built-in.a CC arch/powerpc/math-emu/fnmadds.o CC lib/parser.o AR ipc/built-in.a CC lib/debug_locks.o CC kernel/power/suspend.o CC [M] net/bridge/br_ioctl.o AR drivers/char/built-in.a CC crypto/ecb.o CC crypto/pcbc.o CC kernel/locking/rtmutex-debug.o CC [M] net/bridge/br_stp.o AR drivers/crypto/hisilicon/built-in.a AR drivers/crypto/built-in.a CC lib/random32.o AR drivers/firewire/built-in.a CC arch/powerpc/kernel/proc_powerpc.o CC kernel/power/poweroff.o CC mm/vmstat.o CC arch/powerpc/kernel/module.o CC arch/powerpc/kernel/module_32.o CC net/ipv6/af_inet6.o CC kernel/rcu/update.o AS arch/powerpc/kernel/cpu_setup_44x.o CC drivers/connector/cn_queue.o CC drivers/connector/connector.o CC drivers/connector/cn_proc.o CC kernel/sched/core.o CC kernel/time/time.o CC net/core/request_sock.o CC [M] net/llc/llc_core.o CC lib/bust_spinlocks.o CC kernel/time/timer.o AR net/ethernet/built-in.a CC [M] net/bridge/br_stp_bpdu.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o AR fs/ext2/built-in.a CC kernel/trace/trace_clock.o CC [M] fs/ext4/balloc.o CC arch/powerpc/math-emu/fnmsub.o CC [M] net/bridge/br_stp_if.o CC net/ipv4/inetpeer.o CC crypto/aes_generic.o CC kernel/rcu/sync.o CC block/blk-mq-sched.o CC arch/powerpc/kernel/early_32.o CC arch/powerpc/kernel/legacy_serial.o CC lib/kasprintf.o AR kernel/power/built-in.a AR kernel/printk/built-in.a CC lib/bitmap.o CC arch/powerpc/kernel/udbg_16550.o CC kernel/locking/spinlock_debug.o CC [M] net/bridge/br_stp_timer.o CC [M] net/llc/llc_input.o CC mm/backing-dev.o CC kernel/trace/ring_buffer.o CC arch/powerpc/math-emu/fnmsubs.o CC kernel/trace/trace.o CC net/ipv4/protocol.o CC [M] fs/ext4/bitmap.o CC kernel/locking/test-ww_mutex.o CC net/core/skbuff.o CC net/netlink/af_netlink.o CC net/netlink/genetlink.o CC net/ipv6/anycast.o CC kernel/time/hrtimer.o CC arch/powerpc/kernel/stacktrace.o CC arch/powerpc/math-emu/fres.o AR drivers/connector/built-in.a CC kernel/rcu/srcutiny.o CC arch/powerpc/math-emu/frsp.o CC [M] net/llc/llc_output.o CC arch/powerpc/math-emu/fsel.o CC kernel/time/timekeeping.o CC drivers/base/bus.o CC arch/powerpc/math-emu/lfs.o CC drivers/base/dd.o CC crypto/rng.o CC net/packet/af_packet.o CC lib/scatterlist.o CC block/ioctl.o CC [M] net/bridge/br_netlink.o CC net/sched/sch_generic.o CC [M] fs/ext4/block_validity.o CC net/sunrpc/clnt.o CC [M] fs/ext4/dir.o AR kernel/locking/built-in.a CC [M] fs/ext4/ext4_jbd2.o CC kernel/fork.o CC kernel/rcu/tiny.o CC crypto/hash_info.o CC mm/mm_init.o CC [M] crypto/echainiv.o CC arch/powerpc/kernel/pci_32.o CC kernel/sched/loadavg.o CC net/ipv4/ip_input.o CC drivers/base/syscore.o CC arch/powerpc/kernel/pci-common.o CC drivers/base/driver.o LD [M] net/llc/llc.o CC net/ipv6/ip6_output.o CC net/unix/af_unix.o CC lib/list_sort.o AR kernel/rcu/built-in.a CC arch/powerpc/kernel/pci_of_scan.o CC kernel/exec_domain.o CC kernel/sched/clock.o CC lib/uuid.o CC [M] crypto/hmac.o CC lib/iov_iter.o CC kernel/trace/trace_output.o AR net/wireless/built-in.a CC lib/clz_ctz.o CC [M] net/bridge/br_netlink_tunnel.o CC drivers/base/class.o CC arch/powerpc/kernel/msi.o CC mm/mmu_context.o CC drivers/base/platform.o CC block/genhd.o CC [M] fs/ext4/extents.o CC arch/powerpc/kernel/iomap.o CC arch/powerpc/math-emu/frsqrte.o CC kernel/panic.o CC mm/percpu.o CC drivers/base/cpu.o CC kernel/cpu.o CC drivers/base/firmware.o CC [M] fs/fat/cache.o AS arch/powerpc/kernel/ppc_save_regs.o AR drivers/firmware/broadcom/built-in.a CC [M] fs/ext4/extents_status.o CC kernel/time/ntp.o CC arch/powerpc/math-emu/fsub.o CC [M] net/bridge/br_arp_nd_proxy.o CC mm/slab_common.o CC [M] net/bridge/br_sysfs_if.o CC [M] crypto/sha256_generic.o CC net/unix/garbage.o AR net/netlink/built-in.a CC net/sunrpc/xprt.o CC net/ipv4/ip_fragment.o CC arch/powerpc/math-emu/fsubs.o CC net/sched/sch_mq.o AS arch/powerpc/kernel/head_44x.o CC arch/powerpc/math-emu/mcrfs.o CC kernel/trace/trace_seq.o CC kernel/sched/cputime.o AR net/packet/built-in.a CC drivers/gpio/gpiolib.o CC net/socket.o LDS arch/powerpc/kernel/vmlinux.lds CC net/core/datagram.o AS arch/powerpc/kernel/fpu.o CC drivers/gpio/gpiolib-devres.o CC net/sysctl_net.o CC [M] fs/fat/dir.o CC kernel/trace/trace_stat.o AR arch/powerpc/kernel/built-in.a CC net/ipv4/ip_forward.o CC mm/compaction.o CC drivers/base/init.o CC arch/powerpc/math-emu/mffs.o CC [M] net/bridge/br_sysfs_br.o AR drivers/firmware/imx/built-in.a AR drivers/gpu/drm/arm/built-in.a AR drivers/firmware/meson/built-in.a AR drivers/gpu/drm/bridge/synopsys/built-in.a AR drivers/firmware/psci/built-in.a AR drivers/gpu/drm/bridge/built-in.a CC kernel/trace/trace_printk.o AR drivers/firmware/tegra/built-in.a AR drivers/gpu/drm/hisilicon/built-in.a CC kernel/time/clocksource.o CC net/ipv6/ip6_input.o AR drivers/gpu/drm/i2c/built-in.a AR drivers/gpu/drm/omapdrm/displays/built-in.a CC block/partition-generic.o AR drivers/gpu/drm/omapdrm/dss/built-in.a AR drivers/gpu/drm/omapdrm/built-in.a AR drivers/gpu/drm/panel/built-in.a CC net/ipv6/addrconf.o AR drivers/gpu/drm/rcar-du/built-in.a CC net/ipv6/addrlabel.o AR drivers/gpu/drm/tilcdc/built-in.a CC drivers/base/map.o AR drivers/gpu/drm/built-in.a AR drivers/firmware/xilinx/built-in.a CC mm/vmacache.o CC drivers/gpu/vga/vgaarb.o AR drivers/firmware/built-in.a CC mm/interval_tree.o CC lib/bsearch.o CC [M] net/bridge/br_multicast.o AR net/sched/built-in.a CC arch/powerpc/math-emu/mtfsb0.o CC [M] fs/fat/fatent.o CC drivers/base/devres.o CC net/unix/sysctl_net_unix.o CC kernel/time/jiffies.o CC net/ipv6/route.o CC drivers/base/attribute_container.o CC net/ipv4/ip_options.o CC net/ipv4/ip_output.o CC kernel/sched/idle.o CC arch/powerpc/math-emu/mtfsb1.o CC drivers/gpio/gpiolib-legacy.o CC kernel/trace/trace_sched_switch.o CC kernel/trace/trace_preemptirq.o CC [M] crypto/deflate.o CC mm/list_lru.o CC lib/find_bit.o CC mm/workingset.o CC [M] fs/jbd2/transaction.o CC net/sunrpc/socklib.o CC [M] crypto/crc32c_generic.o CC lib/llist.o CC kernel/time/timer_list.o CC arch/powerpc/math-emu/stfiwx.o AR drivers/gpu/vga/built-in.a AR drivers/gpu/built-in.a CC drivers/base/transport_class.o CC mm/debug.o CC mm/gup.o CC net/core/stream.o CC net/unix/scm.o CC fs/jffs2/compr.o CC lib/memweight.o CC block/ioprio.o CC block/badblocks.o CC drivers/gpio/gpiolib-devprop.o CC drivers/gpio/gpiolib-of.o CC [M] net/bridge/br_mdb.o CC kernel/time/timeconv.o CC fs/jffs2/dir.o CC [M] fs/fat/file.o CC lib/kfifo.o CC net/ipv6/ip6_fib.o CC net/ipv4/ip_sockglue.o CC drivers/base/topology.o CC kernel/time/timecounter.o CC kernel/exit.o AR drivers/hwtracing/intel_th/built-in.a CC [M] crypto/crct10dif_common.o CC block/blk-rq-qos.o CC kernel/trace/trace_nop.o CC [M] fs/ext4/file.o CC block/scsi_ioctl.o CC net/ipv4/inet_hashtables.o CC [M] fs/jbd2/commit.o CC fs/kernfs/mount.o CC kernel/sched/fair.o CC kernel/sched/rt.o CC fs/jffs2/file.o CC [M] crypto/crct10dif_generic.o CC lib/percpu-refcount.o CC drivers/gpio/gpio-xilinx.o CC lib/rhashtable.o CC mm/highmem.o CC arch/powerpc/math-emu/stfs.o CC net/core/scm.o CC net/core/gen_stats.o CC [M] fs/fat/inode.o CC kernel/trace/blktrace.o CC fs/kernfs/inode.o AR net/unix/built-in.a CC arch/powerpc/math-emu/fmr.o CC net/core/gen_estimator.o CC net/sunrpc/xprtsock.o LD [M] net/bridge/bridge.o CC fs/jffs2/ioctl.o CC drivers/base/container.o CC [M] crypto/lzo.o CC [M] fs/ext4/fsmap.o CC fs/jffs2/nodelist.o CC fs/jffs2/malloc.o CC block/bsg.o CC fs/jffs2/read.o CC [M] crypto/lzo-rle.o CC arch/powerpc/math-emu/lfd.o CC mm/memory.o AR drivers/i2c/algos/built-in.a CC [M] drivers/i2c/algos/i2c-algo-bit.o CC kernel/sched/deadline.o CC net/sunrpc/sched.o CC arch/powerpc/math-emu/stfd.o AR drivers/i2c/busses/built-in.a CC fs/kernfs/dir.o CC [M] drivers/i2c/busses/i2c-gpio.o CC [M] fs/jbd2/recovery.o CC net/sunrpc/auth.o CC net/ipv6/ipv6_sockglue.o CC kernel/time/alarmtimer.o CC fs/jffs2/nodemgmt.o CC kernel/sched/wait.o CC [M] crypto/drbg.o CC lib/once.o CC kernel/trace/trace_events.o CC net/sunrpc/auth_null.o AR arch/powerpc/math-emu/built-in.a AR arch/powerpc/built-in.a CC [M] fs/fat/misc.o CC [M] fs/fat/nfs.o CC net/ipv4/inet_timewait_sock.o CC fs/jffs2/readinode.o CC net/core/net_namespace.o CC net/core/secure_seq.o CC [M] fs/fat/namei_vfat.o CC kernel/sched/wait_bit.o CC lib/refcount.o AR drivers/gpio/built-in.a CC fs/kernfs/file.o CC fs/jffs2/write.o CC [M] drivers/i2c/busses/i2c-ibm_iic.o CC net/ipv4/inet_connection_sock.o CC [M] fs/jbd2/checkpoint.o CC [M] fs/ext4/fsync.o CC mm/mincore.o CC kernel/sched/swait.o AR drivers/i2c/muxes/built-in.a CC kernel/time/posix-timers.o CC mm/mlock.o CC mm/mmap.o CC drivers/i2c/i2c-boardinfo.o CC net/core/flow_dissector.o CC net/sunrpc/auth_unix.o CC block/bsg-lib.o CC block/mq-deadline.o CC kernel/time/posix-cpu-timers.o CC block/kyber-iosched.o CC fs/kernfs/symlink.o LD [M] fs/fat/vfat.o CC [M] drivers/i2c/i2c-core-base.o CC kernel/trace/trace_export.o LD [M] fs/fat/fat.o CC [M] crypto/jitterentropy-kcapi.o CC [M] crypto/jitterentropy.o CC net/sunrpc/svc.o CC mm/mmu_gather.o CC drivers/base/property.o CC drivers/base/cacheinfo.o CC drivers/base/devcon.o CC [M] fs/jbd2/revoke.o CC [M] drivers/i2c/i2c-core-smbus.o CC lib/usercopy.o AR fs/kernfs/built-in.a CC [M] drivers/i2c/i2c-core-of.o CC net/ipv6/ndisc.o CC fs/jffs2/scan.o CC net/ipv6/udp.o CC net/sunrpc/svcsock.o CC [M] drivers/i2c/i2c-dev.o CC [M] fs/ext4/hash.o CC drivers/base/swnode.o CC drivers/base/devtmpfs.o CC net/ipv4/tcp.o AR crypto/built-in.a AR drivers/i3c/built-in.a CC net/core/sysctl_net_core.o LD [M] crypto/jitterentropy_rng.o CC [M] fs/jbd2/journal.o CC kernel/trace/trace_events_filter.o CC mm/mprotect.o CC lib/errseq.o CC net/sunrpc/svcauth.o CC kernel/time/posix-clock.o CC net/sunrpc/svcauth_unix.o CC net/ipv4/tcp_input.o CC kernel/sched/completion.o CC mm/mremap.o CC kernel/trace/trace_events_trigger.o CC kernel/time/itimer.o CC kernel/time/clockevents.o CC lib/bucket_locks.o CC kernel/time/tick-common.o CC block/blk-mq-pci.o CC [M] fs/ext4/ialloc.o CC kernel/time/timekeeping_debug.o CC block/blk-mq-virtio.o AR drivers/i2c/built-in.a AR drivers/idle/built-in.a CC [M] drivers/input/serio/serio.o AR drivers/iommu/built-in.a CC kernel/trace/power-traces.o CC [M] fs/ext4/indirect.o CC drivers/base/module.o CC fs/jffs2/gc.o LD [M] drivers/i2c/i2c-core.o CC lib/generic-radix-tree.o CC lib/test_string.o CC [M] fs/ext4/inline.o CC drivers/irqchip/irqchip.o CC drivers/irqchip/irq-xilinx-intc.o CC fs/lockd/clntlock.o CC net/core/dev.o CC net/core/ethtool.o CC lib/string_helpers.o CC net/core/dev_addr_lists.o CC kernel/trace/rpm-traces.o CC mm/msync.o CC mm/page_vma_mapped.o CC net/sunrpc/addr.o AR drivers/base/built-in.a AR kernel/time/built-in.a CC mm/pagewalk.o AR drivers/macintosh/built-in.a CC kernel/softirq.o CC mm/pgtable-generic.o CC kernel/sched/debug.o CC net/core/dst.o CC block/blk-mq-debugfs.o CC lib/hexdump.o CC mm/rmap.o AR drivers/media/common/b2c2/built-in.a CC lib/kstrtox.o AR drivers/media/common/saa7146/built-in.a CC drivers/message/fusion/mptbase.o AR drivers/media/common/siano/built-in.a CC lib/test_firmware.o AR drivers/media/common/v4l2-tpg/built-in.a CC [M] drivers/input/serio/xilinx_ps2.o AR drivers/media/common/videobuf2/built-in.a AR drivers/media/common/built-in.a AR drivers/irqchip/built-in.a CC kernel/sched/membarrier.o AR drivers/mfd/built-in.a AR drivers/media/firewire/built-in.a CC drivers/message/fusion/mptscsih.o AR drivers/media/i2c/built-in.a LD [M] fs/jbd2/jbd2.o AR drivers/media/mmc/siano/built-in.a CC [M] fs/ext4/inode.o AR drivers/media/mmc/built-in.a CC drivers/message/fusion/mptsas.o AR drivers/media/pci/b2c2/built-in.a AR drivers/misc/cardreader/built-in.a AR drivers/media/pci/ddbridge/built-in.a CC net/ipv6/udplite.o AR drivers/misc/cb710/built-in.a AR drivers/media/pci/dm1105/built-in.a AR drivers/misc/eeprom/built-in.a AR drivers/media/pci/intel/ipu3/built-in.a AR drivers/misc/lis3lv02d/built-in.a CC fs/jffs2/symlink.o AR kernel/trace/built-in.a CC fs/nfs/client.o AR drivers/misc/mic/bus/built-in.a AR drivers/media/pci/intel/built-in.a CC mm/vmalloc.o AR drivers/media/platform/cros-ec-cec/built-in.a AR drivers/misc/mic/built-in.a CC net/sunrpc/rpcb_clnt.o AR drivers/media/pci/mantis/built-in.a AR drivers/misc/ti-st/built-in.a AR drivers/media/pci/netup_unidvb/built-in.a CC drivers/mmc/core/core.o CC net/sunrpc/timer.o AR drivers/media/pci/ngene/built-in.a AR drivers/media/pci/pluto2/built-in.a CC drivers/misc/pci_endpoint_test.o AR drivers/media/rc/keymaps/built-in.a AR drivers/media/pci/pt1/built-in.a AR drivers/media/rc/built-in.a AR drivers/media/pci/pt3/built-in.a AR drivers/media/platform/davinci/built-in.a AR drivers/media/pci/saa7146/built-in.a CC fs/nfs_common/grace.o AR drivers/media/platform/meson/built-in.a AR drivers/media/pci/smipcie/built-in.a AR drivers/media/pci/ttpci/built-in.a CC net/ipv6/raw.o AR drivers/media/platform/omap/built-in.a CC fs/nls/nls_base.o CC kernel/resource.o CC drivers/mmc/host/sdhci.o CC lib/test_sysctl.o AR drivers/media/spi/built-in.a CC drivers/mmc/host/sdhci-pci-core.o AR drivers/media/platform/stm32/built-in.a CC drivers/mmc/host/sdhci-pci-o2micro.o AR drivers/media/platform/built-in.a CC fs/nfs/dir.o CC block/blk-pm.o CC fs/jffs2/build.o CC net/core/netevent.o AR drivers/media/pci/built-in.a CC drivers/mmc/host/sdhci-pci-arasan.o AR drivers/media/tuners/built-in.a AR drivers/media/usb/b2c2/built-in.a CC [M] fs/nls/nls_cp437.o AR kernel/sched/built-in.a CC fs/lockd/clntproc.o CC drivers/mtd/chips/chipreg.o AR drivers/misc/built-in.a AR fs/nfs_common/built-in.a CC lib/test_sort.o CC net/core/neighbour.o AR drivers/media/usb/dvb-usb/built-in.a CC kernel/sysctl.o CC kernel/sysctl_binary.o AR drivers/media/usb/dvb-usb-v2/built-in.a AR drivers/media/usb/s2255/built-in.a AR drivers/mtd/devices/built-in.a CC net/core/utils.o CC net/core/rtnetlink.o AR drivers/media/usb/siano/built-in.a AR drivers/media/usb/stkwebcam/built-in.a CC drivers/mtd/chips/cfi_probe.o AR drivers/media/usb/ttusb-budget/built-in.a AR drivers/media/usb/ttusb-dec/built-in.a AR drivers/media/usb/zr364xx/built-in.a AR drivers/media/usb/built-in.a CC net/ipv6/icmp.o AR drivers/media/built-in.a CC fs/jffs2/erase.o AR block/built-in.a CC fs/jffs2/background.o CC lib/test_bitmap.o CC fs/jffs2/fs.o CC drivers/mmc/host/sdhci-pci-dwc-mshc.o CC kernel/capability.o CC net/sunrpc/xdr.o CC [M] fs/ext4/ioctl.o CC [M] fs/nls/nls_iso8859-1.o CC [M] fs/ext4/mballoc.o CC fs/notify/dnotify/dnotify.o AR drivers/net/dsa/b53/built-in.a AR drivers/net/dsa/microchip/built-in.a CC drivers/mmc/core/bus.o AR drivers/net/ethernet/3com/built-in.a AR drivers/net/ethernet/8390/built-in.a CC net/ipv4/tcp_output.o AR drivers/net/ethernet/adaptec/built-in.a CC net/ipv4/tcp_timer.o CC mm/process_vm_access.o AR drivers/net/dsa/mv88e6xxx/built-in.a CC drivers/net/phy/mdio-boardinfo.o AR drivers/net/dsa/sja1105/built-in.a AR drivers/net/dsa/built-in.a AR drivers/nfc/built-in.a CC drivers/mtd/chips/cfi_util.o AR fs/notify/fanotify/built-in.a CC net/sunrpc/sunrpc_syms.o AR drivers/mtd/lpddr/built-in.a CC mm/page_alloc.o CC drivers/net/phy/phy.o AR drivers/message/fusion/built-in.a AR drivers/message/built-in.a AR fs/nls/built-in.a CC lib/test_uuid.o CC fs/jffs2/writev.o AR drivers/net/ethernet/agere/built-in.a AR drivers/net/wireless/admtek/built-in.a AR drivers/net/ethernet/alacritech/built-in.a CC drivers/mmc/host/sdhci-pci-data.o AR drivers/net/wireless/ath/built-in.a CC drivers/mmc/core/host.o AR drivers/net/ethernet/alteon/built-in.a CC fs/proc/task_mmu.o AR fs/notify/dnotify/built-in.a CC net/sunrpc/cache.o AR drivers/net/wireless/atmel/built-in.a AR drivers/net/ethernet/amazon/built-in.a AR drivers/net/wireless/broadcom/built-in.a AR drivers/net/ethernet/amd/built-in.a AR drivers/net/wireless/cisco/built-in.a AR drivers/net/ethernet/aquantia/built-in.a CC fs/lockd/clntxdr.o AR drivers/net/wireless/intel/built-in.a AR drivers/net/ethernet/arc/built-in.a CC lib/pci_iomap.o AR drivers/net/wireless/intersil/built-in.a CC drivers/mmc/core/mmc.o AR drivers/net/ethernet/atheros/built-in.a AR drivers/net/wireless/marvell/built-in.a CC drivers/nvme/host/core.o CC drivers/mmc/host/cqhci.o AR drivers/net/ethernet/aurora/built-in.a AR drivers/net/wireless/mediatek/built-in.a CC fs/proc/inode.o AR drivers/net/ethernet/broadcom/built-in.a CC kernel/ptrace.o AR drivers/net/ethernet/brocade/built-in.a CC drivers/mtd/chips/cfi_cmdset_0002.o CC fs/jffs2/super.o CC fs/notify/inotify/inotify_fsnotify.o CC drivers/nvmem/core.o CC drivers/mtd/chips/gen_probe.o CC drivers/mtd/chips/jedec_probe.o AR drivers/net/ethernet/cadence/built-in.a CC [M] fs/ext4/migrate.o CC fs/notify/inotify/inotify_user.o CC net/ipv6/mcast.o AR drivers/net/ethernet/cavium/common/built-in.a AR drivers/net/ethernet/cavium/liquidio/built-in.a AR drivers/net/ethernet/cavium/octeon/built-in.a CC fs/nfs/file.o AR drivers/net/ethernet/cavium/thunder/built-in.a AR drivers/net/ethernet/cavium/built-in.a AR drivers/net/ethernet/chelsio/built-in.a CC kernel/user.o AR drivers/net/ethernet/cisco/built-in.a AR drivers/net/ethernet/cortina/built-in.a AR drivers/net/ethernet/dec/built-in.a AR drivers/net/ethernet/dlink/built-in.a AR drivers/net/ethernet/emulex/built-in.a AR drivers/net/ethernet/ezchip/built-in.a AR drivers/net/ethernet/hp/built-in.a CC drivers/nvmem/nvmem-sysfs.o CC drivers/net/phy/phy-c45.o AR drivers/net/ethernet/huawei/built-in.a CC kernel/signal.o AR drivers/net/ethernet/i825xx/built-in.a CC lib/iomap_copy.o CC kernel/sys.o CC net/core/link_watch.o CC drivers/mmc/core/mmc_ops.o AR drivers/net/wireless/quantenna/built-in.a CC net/core/filter.o CC fs/proc/root.o CC net/ipv6/reassembly.o CC fs/jffs2/debug.o CC drivers/mmc/core/sd.o AR drivers/net/wireless/ralink/built-in.a AR drivers/net/ethernet/intel/built-in.a CC drivers/net/ethernet/ibm/emac/mal.o AR drivers/net/wireless/realtek/built-in.a AR drivers/mmc/host/built-in.a CC net/sunrpc/rpc_pipe.o CC drivers/net/ethernet/ibm/emac/core.o CC fs/lockd/host.o CC fs/lockd/svc.o CC drivers/net/ethernet/ibm/emac/phy.o AR drivers/net/wireless/rsi/built-in.a CC drivers/of/base.o AR drivers/nvmem/built-in.a AR drivers/net/wireless/st/built-in.a CC drivers/of/device.o AR fs/notify/inotify/built-in.a AR drivers/net/ethernet/marvell/octeontx2/built-in.a AR drivers/net/wireless/ti/built-in.a CC fs/notify/fsnotify.o AR drivers/net/ethernet/marvell/built-in.a AR drivers/net/wireless/zydas/built-in.a CC kernel/umh.o AR drivers/net/wireless/built-in.a CC drivers/of/platform.o CC net/core/sock_diag.o CC lib/devres.o CC drivers/net/ethernet/ibm/emac/zmii.o CC fs/proc/base.o AR drivers/mtd/chips/built-in.a AR drivers/mtd/maps/built-in.a CC fs/jffs2/wbuf.o AR drivers/mtd/nand/onenand/built-in.a AR drivers/mtd/nand/raw/ingenic/built-in.a CC [M] drivers/mtd/nand/raw/nand_base.o CC [M] fs/ext4/mmp.o AR drivers/nvme/target/built-in.a AR drivers/mtd/nand/spi/built-in.a CC net/ipv6/tcp_ipv6.o CC drivers/net/Space.o CC fs/notify/notification.o CC drivers/net/loopback.o CC fs/nfs/getroot.o CC drivers/of/property.o CC fs/lockd/svclock.o CC fs/lockd/svcshare.o CC drivers/net/ethernet/ibm/emac/rgmii.o CC lib/locking-selftest.o CC lib/logic_pio.o CC [M] fs/ext4/move_extent.o CC drivers/mmc/core/sd_ops.o CC [M] drivers/net/tun.o CC net/ipv4/tcp_ipv4.o CC drivers/net/ethernet/ibm/emac/tah.o CC fs/lockd/svcproc.o CC fs/proc/generic.o CC lib/hweight.o CC fs/nfs/inode.o CC lib/bitrev.o CC mm/init-mm.o CC net/sunrpc/svc_xprt.o CC drivers/net/phy/phy-core.o CC drivers/nvme/host/trace.o CC drivers/nvme/host/pci.o CC fs/notify/group.o CC drivers/of/kobj.o CC kernel/workqueue.o HOSTCC lib/gen_crc32table CC drivers/mmc/core/sdio.o CC drivers/of/fdt.o CC fs/nfs/super.o CC net/sunrpc/xprtmultipath.o CC fs/jffs2/compr_rtime.o CC mm/memblock.o CC mm/madvise.o CC net/sunrpc/stats.o CC net/sunrpc/sysctl.o CC lib/crc32test.o AR drivers/net/ethernet/ibm/emac/built-in.a AR drivers/net/ethernet/ibm/built-in.a AR drivers/net/ethernet/mellanox/built-in.a CC [M] fs/ext4/namei.o AR drivers/net/ethernet/micrel/built-in.a CC [M] fs/ext4/page-io.o CC fs/proc/array.o CC fs/nfs/io.o CC net/ipv4/tcp_minisocks.o CC fs/notify/mark.o CC drivers/of/fdt_address.o CC drivers/net/phy/phy_device.o CC fs/nfs/direct.o CC drivers/mmc/core/sdio_ops.o CC fs/jffs2/compr_zlib.o AR drivers/net/ethernet/microchip/built-in.a CC kernel/pid.o AR drivers/net/ethernet/mscc/built-in.a CC net/ipv6/ping.o AR drivers/net/ethernet/myricom/built-in.a AR drivers/net/ethernet/natsemi/built-in.a CC fs/proc/fd.o CC lib/syscall.o CC drivers/of/address.o AR drivers/net/ethernet/neterion/built-in.a CC lib/nlattr.o AR drivers/net/ethernet/netronome/built-in.a AR drivers/net/ethernet/ni/built-in.a AR drivers/net/ethernet/nvidia/built-in.a CC fs/notify/fdinfo.o AR fs/jffs2/built-in.a AR fs/quota/built-in.a AR drivers/net/ethernet/oki-semi/built-in.a CC [M] drivers/mtd/nand/raw/nand_legacy.o CC drivers/mmc/core/sdio_bus.o CC fs/lockd/svcsubs.o CC net/ipv6/exthdrs.o CC fs/proc/proc_tty.o CC kernel/task_work.o CC net/ipv6/datagram.o CC [M] drivers/mtd/nand/raw/nand_bbt.o AR net/sunrpc/built-in.a AR drivers/net/ethernet/packetengines/built-in.a CC net/ipv6/ip6_flowlabel.o AR drivers/net/ethernet/qlogic/built-in.a AR drivers/net/ethernet/qualcomm/emac/built-in.a CC net/ipv4/tcp_cong.o AR drivers/net/ethernet/qualcomm/built-in.a AR drivers/net/ethernet/rdc/built-in.a CC [M] fs/ext4/readpage.o CC lib/atomic64.o CC lib/dynamic_queue_limits.o AR drivers/net/ethernet/realtek/built-in.a CC drivers/of/irq.o CC net/ipv6/inet6_connection_sock.o CC net/ipv4/tcp_metrics.o CC mm/page_io.o CC mm/swap_state.o CC drivers/of/of_net.o AR drivers/nvme/host/built-in.a AR drivers/nvme/built-in.a CC drivers/mmc/core/sdio_cis.o CC net/ipv6/udp_offload.o AR drivers/net/ethernet/renesas/built-in.a CC lib/glob.o CC drivers/mmc/core/sdio_io.o CC net/core/dev_ioctl.o CC drivers/of/of_mdio.o CC lib/globtest.o CC kernel/extable.o AR fs/notify/built-in.a CC drivers/mmc/core/sdio_irq.o CC drivers/net/phy/mdio_bus.o AR drivers/net/ethernet/rocker/built-in.a CC [M] drivers/mtd/nand/raw/nand_timings.o CC [M] drivers/mtd/nand/raw/nand_ids.o CC [M] fs/ext4/resize.o CC [M] fs/ext4/super.o CC [M] drivers/mtd/nand/core.o CC fs/lockd/mon.o CC drivers/mmc/core/slot-gpio.o CC fs/nfs/pagelist.o CC fs/lockd/xdr.o CC fs/proc/cmdline.o AR drivers/net/ethernet/samsung/built-in.a CC fs/ramfs/inode.o CC [M] fs/ext4/symlink.o CC [M] drivers/mtd/nand/bbt.o AR drivers/net/ethernet/seeq/built-in.a CC drivers/of/of_reserved_mem.o CC drivers/net/phy/mdio_device.o AR drivers/net/ethernet/sfc/built-in.a CC fs/proc/consoles.o CC fs/ramfs/file-mmu.o CC net/ipv6/seg6.o CC drivers/net/phy/swphy.o CC [M] drivers/mtd/nand/raw/nand_onfi.o AR drivers/net/ethernet/silan/built-in.a CC [M] drivers/mtd/nand/raw/nand_jedec.o AR drivers/net/ethernet/sis/built-in.a CC mm/swapfile.o AR drivers/net/ethernet/smsc/built-in.a AR drivers/net/ethernet/socionext/built-in.a AR drivers/net/ethernet/stmicro/built-in.a AR drivers/net/ethernet/sun/built-in.a AR drivers/net/ethernet/synopsys/built-in.a CC net/core/tso.o CC net/ipv6/fib6_notifier.o CC net/core/sock_reuseport.o AR drivers/net/ethernet/tehuti/built-in.a CC lib/strncpy_from_user.o CC kernel/params.o CC [M] drivers/mtd/nand/raw/nand_amd.o CC net/ipv4/tcp_fastopen.o CC lib/strnlen_user.o CC kernel/kthread.o CC lib/net_utils.o CC [M] fs/ext4/sysfs.o CC fs/proc/cpuinfo.o CC drivers/net/phy/fixed_phy.o CC [M] fs/squashfs/block.o CC fs/lockd/clnt4xdr.o AR drivers/of/built-in.a CC [M] drivers/mtd/nand/raw/nand_esmt.o CC net/core/fib_notifier.o AR drivers/net/ethernet/ti/built-in.a CC kernel/nsproxy.o CC kernel/sys_ni.o AR drivers/net/ethernet/via/built-in.a AR fs/ramfs/built-in.a AR drivers/net/ethernet/wiznet/built-in.a CC kernel/notifier.o CC lib/sg_pool.o CC [M] fs/ext4/xattr.o CC net/ipv4/tcp_rate.o AR drivers/net/ethernet/xilinx/built-in.a CC [M] fs/ext4/xattr_trusted.o CC [M] drivers/mtd/nand/raw/nand_hynix.o AR drivers/net/ethernet/built-in.a CC net/core/xdp.o AR drivers/pci/controller/dwc/built-in.a AR drivers/pci/controller/built-in.a AR drivers/pci/switch/built-in.a CC drivers/mmc/core/regulator.o CC drivers/pci/access.o CC drivers/pci/bus.o AR drivers/platform/built-in.a CC lib/rbtree_test.o CC net/core/flow_offload.o CC lib/sbitmap.o CC fs/proc/devices.o CC fs/proc/interrupts.o CC drivers/mmc/core/pwrseq.o CC lib/argv_split.o CC net/ipv4/tcp_recovery.o CC [M] fs/squashfs/cache.o CC net/ipv6/sysctl_net_ipv6.o CC net/ipv6/proc.o CC lib/bug.o CC kernel/ksysfs.o CC net/ipv6/sit.o CC [M] fs/ext4/xattr_user.o CC kernel/cred.o CC lib/chacha.o CC fs/lockd/xdr4.o AR drivers/net/phy/built-in.a AR drivers/net/built-in.a AR drivers/mtd/parsers/built-in.a CC fs/lockd/svc4proc.o CC drivers/mmc/core/debugfs.o AR drivers/mtd/tests/built-in.a CC fs/nfs/read.o LD [M] drivers/mtd/nand/nandcore.o CC lib/cmdline.o CC net/core/net-sysfs.o CC fs/proc/loadavg.o CC net/ipv6/addrconf_core.o CC [M] drivers/mtd/ubi/vtbl.o CC drivers/pci/probe.o AR drivers/power/built-in.a CC lib/ctype.o CC fs/nfs/symlink.o CC mm/swap_slots.o CC mm/dmapool.o CC lib/dec_and_lock.o CC kernel/reboot.o CC [M] drivers/mtd/nand/raw/nand_macronix.o CC net/core/net-procfs.o CC fs/lockd/procfs.o CC lib/decompress.o CC net/ipv4/tcp_ulp.o CC kernel/async.o CC net/ipv4/tcp_offload.o CC [M] drivers/mtd/nand/raw/nand_micron.o CC [M] drivers/mtd/nand/raw/nand_samsung.o CC lib/decompress_bunzip2.o CC [M] fs/squashfs/dir.o CC fs/nfs/unlink.o CC kernel/range.o CC drivers/pci/host-bridge.o CC drivers/mtd/mtdcore.o CC drivers/pci/remove.o CC [M] drivers/mtd/ubi/vmt.o CC net/ipv4/datagram.o CC mm/slub.o CC net/ipv6/exthdrs_core.o CC fs/proc/meminfo.o CC drivers/mmc/core/pwrseq_simple.o CC drivers/mmc/core/pwrseq_emmc.o CC drivers/mtd/mtdsuper.o CC drivers/mtd/mtdconcat.o CC [M] drivers/mtd/nand/raw/nand_toshiba.o CC [M] fs/squashfs/export.o CC fs/proc/stat.o CC net/core/net-traces.o AR fs/lockd/built-in.a CC [M] drivers/mtd/ubi/upd.o CC kernel/smpboot.o CC drivers/pci/pci.o CC [M] drivers/mtd/ubi/build.o CC fs/proc/uptime.o CC drivers/pci/pci-driver.o CC lib/decompress_inflate.o CC drivers/mtd/mtdpart.o CC drivers/mmc/core/block.o CC [M] drivers/mtd/nand/raw/nand_ecc.o CC drivers/mmc/core/queue.o CC net/ipv4/raw.o CC net/ipv6/ip6_checksum.o CC lib/decompress_unlz4.o CC fs/sysfs/file.o CC fs/proc/util.o CC fs/proc/version.o CC [M] fs/squashfs/file.o CC [M] fs/squashfs/fragment.o CC kernel/ucount.o CC [M] drivers/mtd/ubi/cdev.o CC drivers/mtd/mtdchar.o CC lib/decompress_unlzma.o CC net/ipv4/udp.o CC net/ipv4/udplite.o CC fs/sysfs/dir.o CC fs/sysfs/symlink.o CC fs/sysfs/mount.o CC net/core/dst_cache.o CC net/core/gro_cells.o CC lib/decompress_unlzo.o CC fs/proc/softirqs.o CC fs/nfs/write.o CC [M] drivers/mtd/nand/raw/ndfc.o CC drivers/mtd/ofpart.o CC drivers/mtd/mtd_blkdevs.o LD [M] fs/ext4/ext4.o CC kernel/kmod.o CC net/ipv4/udp_offload.o CC fs/proc/namespaces.o CC fs/sysfs/group.o CC fs/proc/self.o CC drivers/mtd/mtdblock.o CC kernel/groups.o CC lib/decompress_unxz.o CC mm/migrate.o CC mm/balloon_compaction.o CC [M] fs/squashfs/id.o CC fs/proc/thread_self.o CC [M] fs/squashfs/inode.o CC [M] fs/squashfs/namei.o CC net/ipv6/ip6_icmp.o CC drivers/pci/search.o CC drivers/pci/pci-sysfs.o CC [M] fs/squashfs/super.o AR drivers/mtd/nand/raw/built-in.a LD [M] drivers/mtd/nand/raw/nand.o AR drivers/mtd/nand/built-in.a AR fs/sysfs/built-in.a CC [M] drivers/mtd/ubi/kapi.o CC [M] drivers/mtd/ubi/eba.o AR drivers/mmc/core/built-in.a CC [M] drivers/mtd/ubi/io.o AR drivers/mmc/built-in.a CC mm/memfd.o CC fs/tracefs/inode.o CC lib/dump_stack.o CC lib/earlycpio.o CC drivers/pci/rom.o CC fs/proc/proc_sysctl.o CC [M] fs/squashfs/symlink.o CC [M] fs/squashfs/decompressor.o CC kernel/freezer.o CC drivers/pci/setup-res.o CC [M] fs/ubifs/shrinker.o CC drivers/pci/irq.o CC [M] fs/ubifs/journal.o CC fs/nfs/namespace.o CC lib/extable.o AR net/core/built-in.a CC net/ipv6/output_core.o CC lib/fdt.o CC [M] drivers/mtd/ubi/wl.o CC fs/open.o CC fs/nfs/mount_clnt.o CC net/ipv4/arp.o CC kernel/stacktrace.o CC drivers/pci/vpd.o CC [M] fs/squashfs/file_cache.o CC lib/fdt_empty_tree.o CC lib/fdt_ro.o CC [M] fs/squashfs/decompressor_single.o CC fs/read_write.o AR fs/tracefs/built-in.a CC [M] drivers/mtd/ubi/attach.o CC net/ipv6/protocol.o CC net/ipv6/ip6_offload.o CC net/ipv4/icmp.o CC net/ipv6/tcpv6_offload.o CC fs/nfs/nfstrace.o CC [M] drivers/mtd/ubi/misc.o CC [M] drivers/mtd/ubi/debug.o CC fs/nfs/export.o AR mm/built-in.a CC fs/nfs/nfsroot.o CC kernel/futex.o CC lib/fdt_rw.o CC fs/file_table.o CC drivers/pci/setup-bus.o CC lib/fdt_strerror.o CC fs/super.o CC [M] fs/ubifs/file.o CC fs/nfs/sysctl.o CC fs/char_dev.o CC fs/stat.o CC fs/exec.o CC fs/proc/proc_net.o CC net/ipv4/devinet.o CC lib/fdt_sw.o CC [M] fs/squashfs/xattr.o CC [M] fs/squashfs/xattr_id.o CC fs/nfs/nfs2super.o CC [M] drivers/mtd/ubi/gluebi.o CC net/ipv6/exthdrs_offload.o CC lib/fdt_wip.o CC [M] fs/ubifs/dir.o CC fs/pipe.o CC [M] fs/ubifs/super.o CC fs/namei.o CC fs/nfs/proc.o CC net/ipv6/inet6_hashtables.o CC net/ipv6/mcast_snoop.o CC fs/fcntl.o CC [M] fs/squashfs/lzo_wrapper.o CC [M] fs/squashfs/zlib_wrapper.o CC kernel/dma.o CC kernel/up.o CC net/ipv4/af_inet.o CC fs/proc/kcore.o CC fs/ioctl.o LD [M] drivers/mtd/ubi/ubi.o CC lib/flex_proportions.o CC fs/proc/kmsg.o CC net/ipv4/igmp.o CC fs/nfs/nfs2xdr.o CC kernel/module.o CC fs/readdir.o CC [M] fs/ubifs/sb.o CC net/ipv4/fib_frontend.o CC lib/idr.o CC drivers/pci/vc.o CC fs/proc/page.o CC fs/nfs/nfs3super.o CC fs/nfs/nfs3client.o CC drivers/pci/mmap.o AR drivers/mtd/built-in.a CC fs/nfs/nfs3proc.o LD [M] fs/squashfs/squashfs.o CC lib/ioremap.o CC kernel/kallsyms.o CC lib/irq_regs.o CC net/ipv4/fib_semantics.o CC fs/select.o CC lib/is_single_threaded.o CC kernel/crash_core.o AR drivers/ptp/built-in.a CC fs/nfs/nfs3xdr.o CC fs/dcache.o CC fs/inode.o CC fs/attr.o CC [M] fs/ubifs/io.o CC [M] fs/ubifs/tnc.o CC fs/bad_inode.o CC lib/klist.o AR drivers/pwm/built-in.a CC kernel/hung_task.o CC fs/file.o CC drivers/rtc/lib.o AR net/ipv6/built-in.a CC drivers/scsi/megaraid/megaraid_sas_base.o CC drivers/scsi/megaraid/megaraid_sas_fusion.o CC drivers/pci/setup-irq.o CC drivers/scsi/sym53c8xx_2/sym_fw.o AR drivers/soc/amlogic/built-in.a AR fs/proc/built-in.a AR drivers/soc/bcm/built-in.a CC drivers/scsi/megaraid/megaraid_sas_fp.o AR drivers/tty/ipwireless/built-in.a CC lib/kobject.o CC drivers/tty/serial/8250/8250_core.o CC drivers/scsi/sym53c8xx_2/sym_glue.o AR drivers/tty/vt/built-in.a CC drivers/tty/serial/serial_core.o CC drivers/tty/serial/earlycon.o CC kernel/seccomp.o CC net/ipv4/fib_trie.o CC kernel/utsname_sysctl.o CC drivers/scsi/sym53c8xx_2/sym_hipd.o CC [M] fs/ubifs/master.o AR drivers/rtc/built-in.a CC drivers/scsi/sym53c8xx_2/sym_malloc.o CC drivers/scsi/scsi.o CC net/ipv4/fib_notifier.o CC drivers/usb/common/common.o CC drivers/pci/proc.o CC net/ipv4/inet_fragment.o CC kernel/tracepoint.o CC drivers/usb/core/usb.o CC drivers/usb/core/hub.o CC net/ipv4/ping.o AR drivers/soc/fsl/built-in.a CC drivers/tty/serial/8250/8250_port.o CC net/ipv4/ip_tunnel_core.o AR drivers/soc/mediatek/built-in.a /home/nathan/cbl/linux-next/fs/select.c:619:5: warning: stack frame size of 1040 bytes in function 'core_sys_select' [-Wframe-larger-than=] int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp, ^ 1 warning generated. AR drivers/soc/qcom/built-in.a CC kernel/elfcore.o AR drivers/soc/sunxi/built-in.a AR drivers/soc/renesas/built-in.a AR drivers/soc/xilinx/built-in.a CC drivers/tty/serial/uartlite.o AR drivers/soc/built-in.a CC lib/kobject_uevent.o CC net/ipv4/gre_offload.o CC kernel/irq_work.o CC drivers/tty/serial/8250/8250_early.o CC drivers/scsi/sym53c8xx_2/sym_nvram.o CC net/ipv4/metrics.o CC drivers/tty/serial/8250/8250_fsl.o CC [M] fs/ubifs/scan.o AR fs/nfs/built-in.a AR drivers/usb/common/built-in.a CC drivers/tty/serial/8250/8250_of.o CC kernel/iomem.o CC kernel/rseq.o CC drivers/pci/slot.o CC drivers/pci/of.o CC [M] fs/ubifs/replay.o AR drivers/video/backlight/built-in.a CC drivers/virtio/virtio.o CC [M] drivers/video/backlight/lcd.o CC drivers/video/fbdev/core/fb_cmdline.o CC [M] drivers/video/backlight/backlight.o CC drivers/scsi/hosts.o CC drivers/virtio/virtio_ring.o CC drivers/scsi/scsi_ioctl.o CC drivers/scsi/scsicam.o CC drivers/tty/tty_io.o CC fs/filesystems.o CC lib/memcat_p.o CC drivers/usb/core/hcd.o CC [M] fs/ubifs/log.o CC [M] fs/ubifs/commit.o CC drivers/usb/core/urb.o CC net/ipv4/netlink.o CC fs/namespace.o AR drivers/tty/serial/8250/built-in.a AR drivers/tty/serial/built-in.a CC drivers/video/fbdev/core/fb_notify.o CC [M] drivers/video/backlight/generic_bl.o AR kernel/built-in.a CC drivers/scsi/scsi_error.o CC drivers/pci/quirks.o CC drivers/pci/msi.o CC drivers/pci/syscall.o CC drivers/scsi/scsi_lib.o CC [M] fs/ubifs/gc.o CC drivers/scsi/scsi_lib_dma.o CC drivers/scsi/scsi_scan.o CC lib/nmi_backtrace.o CC lib/nodemask.o CC net/ipv4/ip_tunnel.o GEN drivers/scsi/scsi_devinfo_tbl.c CC fs/seq_file.o CC drivers/scsi/scsi_devinfo.o CC fs/xattr.o CC [M] drivers/video/fbdev/core/fbmem.o CC [M] drivers/video/fbdev/core/fbmon.o AR drivers/scsi/sym53c8xx_2/built-in.a AR drivers/scsi/megaraid/built-in.a CC fs/libfs.o CC fs/fs-writeback.o CC drivers/tty/n_tty.o CC fs/pnode.o CC [M] fs/ubifs/orphan.o CC [M] fs/ubifs/budget.o CC drivers/usb/core/message.o CC net/ipv4/sysctl_net_ipv4.o CC fs/splice.o CC drivers/usb/core/driver.o CC lib/plist.o CC drivers/usb/core/config.o CC drivers/tty/tty_ioctl.o CC lib/radix-tree.o CC drivers/tty/tty_ldisc.o CC [M] fs/ubifs/find.o CC [M] fs/ubifs/tnc_commit.o CC net/ipv4/proc.o CC lib/ratelimit.o CC drivers/virtio/virtio_mmio.o CC drivers/virtio/virtio_pci_modern.o CC drivers/virtio/virtio_pci_common.o CC drivers/virtio/virtio_pci_legacy.o AR drivers/pci/built-in.a CC net/ipv4/tunnel4.o CC [M] drivers/video/fbdev/core/fbcmap.o CC fs/sync.o CC fs/utimes.o CC lib/rbtree.o CC drivers/scsi/scsi_sysctl.o CC drivers/usb/core/file.o CC drivers/usb/core/buffer.o CC [M] drivers/video/fbdev/core/fbsysfs.o CC fs/d_path.o CC drivers/tty/tty_buffer.o CC drivers/virtio/virtio_balloon.o CC fs/stack.o CC lib/seq_buf.o CC [M] fs/ubifs/compress.o CC [M] fs/ubifs/lpt.o CC drivers/tty/tty_port.o CC drivers/tty/tty_mutex.o CC drivers/tty/tty_ldsem.o CC drivers/tty/tty_baudrate.o CC net/ipv4/inet_diag.o CC net/ipv4/ipconfig.o CC lib/sha1.o CC lib/show_mem.o CC drivers/scsi/scsi_proc.o CC drivers/scsi/scsi_debugfs.o CC lib/siphash.o CC lib/string.o CC [M] drivers/video/fbdev/core/modedb.o CC drivers/scsi/scsi_trace.o AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a CC drivers/usb/core/sysfs.o CC drivers/usb/core/endpoint.o AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a AR drivers/video/fbdev/omap2/omapfb/built-in.a CC [M] fs/ubifs/lprops.o CC drivers/tty/tty_jobctrl.o CC drivers/usb/core/devio.o AR drivers/video/fbdev/omap2/built-in.a CC fs/fs_struct.o CC fs/statfs.o CC net/ipv4/tcp_diag.o CC fs/fs_pin.o CC lib/timerqueue.o CC lib/vsprintf.o CC net/ipv4/tcp_cubic.o CC [M] drivers/video/fbdev/core/fbcvt.o CC drivers/usb/host/pci-quirks.o CC drivers/tty/n_null.o CC fs/nsfs.o CC fs/fs_types.o CC drivers/usb/core/notify.o CC drivers/usb/misc/usbtest.o CC drivers/usb/misc/ehset.o CC lib/win_minmax.o CC drivers/scsi/scsi_logging.o CC lib/xarray.o CC drivers/usb/core/generic.o CC [M] lib/crc16.o AR drivers/virtio/built-in.a CC [M] lib/crc-t10dif.o CC drivers/scsi/scsi_pm.o CC drivers/scsi/scsi_common.o CC [M] drivers/video/fbdev/core/cfbfillrect.o CC drivers/usb/phy/of.o CC drivers/usb/storage/uas.o CC drivers/usb/misc/lvstest.o CC [M] fs/ubifs/recovery.o CC [M] drivers/video/fbdev/core/cfbcopyarea.o CC drivers/tty/pty.o CC drivers/usb/storage/scsiglue.o CC drivers/tty/sysrq.o CC drivers/scsi/scsi_transport_spi.o CC [M] drivers/video/fbdev/core/cfbimgblt.o CC drivers/scsi/scsi_transport_sas.o GEN lib/crc32table.h AR drivers/video/fbdev/core/built-in.a CC drivers/scsi/dc395x.o LD [M] drivers/video/fbdev/core/fb.o CC [M] drivers/video/fbdev/xilinxfb.o CC drivers/usb/core/quirks.o CC lib/crc32.o CC fs/fs_context.o CC drivers/usb/core/devices.o CC drivers/usb/host/ehci-hcd.o CC drivers/usb/core/phy.o CC drivers/usb/core/port.o CC drivers/usb/host/ehci-pci.o CC [M] fs/ubifs/ioctl.o CC drivers/scsi/esp_scsi.o CC drivers/usb/storage/protocol.o CC drivers/scsi/am53c974.o CC drivers/scsi/virtio_scsi.o AR drivers/usb/phy/built-in.a CC drivers/scsi/sd.o CC [M] fs/ubifs/lpt_commit.o CC drivers/scsi/scsi_sysfs.o CC drivers/usb/storage/transport.o CC drivers/usb/core/of.o AR net/ipv4/built-in.a AR net/built-in.a CC drivers/usb/core/hcd-pci.o CC drivers/usb/storage/usb.o CC drivers/usb/host/ohci-hcd.o CC drivers/usb/host/xhci.o CC [M] fs/ubifs/tnc_misc.o AR drivers/video/fbdev/built-in.a AR drivers/tty/built-in.a AR drivers/usb/misc/built-in.a AR drivers/video/built-in.a CC drivers/usb/storage/initializers.o CC drivers/usb/storage/sierra_ms.o CC drivers/usb/host/xhci-mem.o CC fs/fs_parser.o CC drivers/usb/storage/option_ms.o CC fs/fsopen.o CC [M] fs/ubifs/debug.o CC fs/buffer.o CC drivers/usb/storage/usual-tables.o CC [M] fs/ubifs/misc.o CC [M] fs/ubifs/xattr.o CC drivers/usb/host/xhci-ext-caps.o CC fs/block_dev.o CC drivers/usb/host/xhci-ring.o CC drivers/usb/host/xhci-hub.o CC drivers/usb/host/xhci-dbg.o CC fs/direct-io.o CC fs/mpage.o CC fs/proc_namespace.o AR drivers/usb/core/built-in.a CC fs/eventpoll.o CC drivers/usb/host/xhci-trace.o CC fs/anon_inodes.o CC drivers/usb/host/xhci-debugfs.o CC fs/signalfd.o AR lib/lib.a EXPORTS lib/lib-ksyms.o CC fs/timerfd.o CC fs/eventfd.o AR lib/built-in.a CC fs/aio.o AR drivers/usb/storage/built-in.a CC drivers/usb/host/xhci-pci.o CC fs/io_uring.o CC fs/locks.o CC fs/binfmt_script.o CC fs/binfmt_elf.o CC fs/coredump.o CC fs/drop_caches.o CC fs/fhandle.o CC fs/iomap.o CC [M] fs/mbcache.o AR drivers/scsi/built-in.a LD [M] fs/ubifs/ubifs.o AR drivers/usb/host/built-in.a AR drivers/usb/built-in.a AR drivers/built-in.a AR fs/built-in.a GEN .version CHK include/generated/compile.h LD vmlinux.o MODPOST vmlinux.o MODINFO modules.builtin.modinfo KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map Building modules, stage 2. BOOTCC arch/powerpc/boot/4xx.o BOOTAS arch/powerpc/boot/crtsavres.o COPY arch/powerpc/boot/zlib.h BOOTCC arch/powerpc/boot/bamboo.o BOOTAS arch/powerpc/boot/crt0.o BOOTCC arch/powerpc/boot/cuboot.o COPY arch/powerpc/boot/zconf.h COPY arch/powerpc/boot/zutil.h COPY arch/powerpc/boot/inflate.h COPY arch/powerpc/boot/inffixed.h COPY arch/powerpc/boot/inftrees.h COPY arch/powerpc/boot/inffast.h BOOTCC arch/powerpc/boot/ebony.o BOOTCC arch/powerpc/boot/devtree.o COPY arch/powerpc/boot/infutil.h BOOTAS arch/powerpc/boot/div64.o COPY arch/powerpc/boot/libfdt_internal.h COPY arch/powerpc/boot/fdt.h BOOTCC arch/powerpc/boot/elf_util.o COPY arch/powerpc/boot/libfdt.h BOOTCC arch/powerpc/boot/main.o BOOTCC arch/powerpc/boot/ofconsole.o BOOTCC arch/powerpc/boot/oflib.o BOOTCC arch/powerpc/boot/ns16550.o MODPOST 52 modules BOOTCC arch/powerpc/boot/simple_alloc.o BOOTCC arch/powerpc/boot/stdlib.o BOOTCC arch/powerpc/boot/stdio.o BOOTAS arch/powerpc/boot/string.o BOOTAS arch/powerpc/boot/util.o BOOTCC arch/powerpc/boot/uartlite.o BOOTCC arch/powerpc/boot/cuboot-bamboo.o BOOTCC arch/powerpc/boot/cuboot-ebony.o BOOTCC arch/powerpc/boot/cuboot-katmai.o BOOTCC arch/powerpc/boot/cuboot-rainier.o BOOTCC arch/powerpc/boot/cuboot-sam440ep.o BOOTCC arch/powerpc/boot/cuboot-sequoia.o BOOTCC arch/powerpc/boot/cuboot-taishan.o BOOTCC arch/powerpc/boot/cuboot-warp.o BOOTCC arch/powerpc/boot/cuboot-yosemite.o BOOTCC arch/powerpc/boot/epapr.o BOOTAS arch/powerpc/boot/fixed-head.o BOOTCC arch/powerpc/boot/of.o BOOTCC arch/powerpc/boot/simpleboot.o BOOTCC arch/powerpc/boot/treeboot-akebono.o BOOTCC arch/powerpc/boot/treeboot-bamboo.o BOOTCC arch/powerpc/boot/treeboot-ebony.o BOOTCC arch/powerpc/boot/treeboot-currituck.o BOOTCC arch/powerpc/boot/treeboot-iss4xx.o BOOTCC arch/powerpc/boot/virtex.o LDS arch/powerpc/boot/zImage.lds HOSTCC arch/powerpc/boot/addnote HOSTCC arch/powerpc/boot/hack-coff HOSTCC arch/powerpc/boot/mktree DTC arch/powerpc/boot/dts/ebony.dtb COPY arch/powerpc/boot/inflate.c COPY arch/powerpc/boot/inffast.c COPY arch/powerpc/boot/inftrees.c COPY arch/powerpc/boot/fdt.c COPY arch/powerpc/boot/fdt_ro.c COPY arch/powerpc/boot/fdt_strerror.c COPY arch/powerpc/boot/fdt_rw.c COPY arch/powerpc/boot/fdt_sw.c COPY arch/powerpc/boot/fdt_wip.c /home/nathan/cbl/linux-next/arch/powerpc/boot/main.c:111:18: warning: array comparison always evaluates to a constant [-Wtautological-compare] if (_initrd_end > _initrd_start) { ^ 1 warning generated. BOOTCC arch/powerpc/boot/inflate.o BOOTCC arch/powerpc/boot/inffast.o COPY arch/powerpc/boot/decompress_inflate.c BOOTCC arch/powerpc/boot/empty.o BOOTCC arch/powerpc/boot/libfdt-wrapper.o BOOTCC arch/powerpc/boot/inftrees.o BOOTCC arch/powerpc/boot/fdt.o BOOTCC arch/powerpc/boot/fdt_rw.o CC crypto/crc32c_generic.mod.o BOOTCC arch/powerpc/boot/fdt_ro.o CC crypto/crct10dif_common.mod.o BOOTCC arch/powerpc/boot/fdt_strerror.o CC crypto/crct10dif_generic.mod.o CC crypto/deflate.mod.o BOOTCC arch/powerpc/boot/fdt_wip.o CC crypto/drbg.mod.o BOOTCC arch/powerpc/boot/fdt_sw.o CC crypto/echainiv.mod.o CC crypto/hmac.mod.o BOOTCC arch/powerpc/boot/serial.o CC crypto/jitterentropy_rng.mod.o DTC arch/powerpc/boot/dts/bamboo.dtb CC crypto/lzo-rle.mod.o CC crypto/lzo.mod.o CC crypto/sha256_generic.mod.o CC drivers/char/xilinx_hwicap/xilinx_hwicap_m.mod.o BOOTCC arch/powerpc/boot/decompress.o CC drivers/block/xsysace.mod.o CC drivers/i2c/algos/i2c-algo-bit.mod.o DTC arch/powerpc/boot/dts/sam440ep.dtb DTC arch/powerpc/boot/dts/sequoia.dtb DTC arch/powerpc/boot/dts/taishan.dtb DTC arch/powerpc/boot/dts/rainier.dtb DTC arch/powerpc/boot/dts/katmai.dtb CC drivers/i2c/busses/i2c-ibm_iic.mod.o DTC arch/powerpc/boot/dts/warp.dtb DTC arch/powerpc/boot/dts/yosemite.dtb CC drivers/i2c/i2c-core.mod.o CC drivers/i2c/busses/i2c-gpio.mod.o CC drivers/i2c/i2c-dev.mod.o CC drivers/input/serio/xilinx_ps2.mod.o CC drivers/mtd/nand/nandcore.mod.o CC drivers/input/serio/serio.mod.o CC drivers/mtd/nand/raw/nand.mod.o CC drivers/mtd/nand/raw/nand_ecc.mod.o CC drivers/mtd/nand/raw/ndfc.mod.o CC drivers/mtd/ubi/gluebi.mod.o CC drivers/mtd/ubi/ubi.mod.o CC drivers/net/tun.mod.o CC drivers/video/backlight/backlight.mod.o /home/nathan/cbl/linux-next/arch/powerpc/boot/dts/katmai.dts:322.26-361.5: Warning (pci_bridge): /plb/pciex@d00000000: node name is not "pci" or "pcie" /home/nathan/cbl/linux-next/arch/powerpc/boot/dts/katmai.dts:363.26-402.5: Warning (pci_bridge): /plb/pciex@d20000000: node name is not "pci" or "pcie" /home/nathan/cbl/linux-next/arch/powerpc/boot/dts/katmai.dts:404.26-443.5: Warning (pci_bridge): /plb/pciex@d40000000: node name is not "pci" or "pcie" arch/powerpc/boot/dts/katmai.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' CC drivers/video/backlight/generic_bl.mod.o CC drivers/video/backlight/lcd.mod.o CC drivers/video/fbdev/core/cfbcopyarea.mod.o CC drivers/video/fbdev/core/cfbfillrect.mod.o CC drivers/video/fbdev/core/cfbimgblt.mod.o CC drivers/video/fbdev/xilinxfb.mod.o CC drivers/video/fbdev/core/fb.mod.o CC fs/fat/fat.mod.o CC fs/ext4/ext4.mod.o CC fs/fat/vfat.mod.o CC fs/jbd2/jbd2.mod.o CC fs/mbcache.mod.o CC fs/nls/nls_cp437.mod.o CC fs/nls/nls_iso8859-1.mod.o CC fs/squashfs/squashfs.mod.o CC fs/ubifs/ubifs.mod.o CC lib/crc-t10dif.mod.o CC lib/crc16.mod.o CC lib/lzo/lzo_compress.mod.o CC net/802/p8022.mod.o CC net/802/psnap.mod.o CC net/802/stp.mod.o CC net/llc/llc.mod.o CC net/bridge/bridge.mod.o LD [M] crypto/crc32c_generic.ko LD [M] crypto/crct10dif_common.ko LD [M] crypto/crct10dif_generic.ko LD [M] crypto/deflate.ko LD [M] crypto/drbg.ko LD [M] crypto/echainiv.ko LD [M] crypto/hmac.ko LD [M] crypto/jitterentropy_rng.ko LD [M] crypto/lzo-rle.ko LD [M] crypto/sha256_generic.ko LD [M] drivers/block/xsysace.ko LD [M] crypto/lzo.ko LD [M] drivers/i2c/algos/i2c-algo-bit.ko LD [M] drivers/char/xilinx_hwicap/xilinx_hwicap_m.ko LD [M] drivers/i2c/busses/i2c-gpio.ko LD [M] drivers/i2c/busses/i2c-ibm_iic.ko LD [M] drivers/i2c/i2c-dev.ko LD [M] drivers/i2c/i2c-core.ko LD [M] drivers/input/serio/serio.ko LD [M] drivers/input/serio/xilinx_ps2.ko LD [M] drivers/mtd/nand/nandcore.ko LD [M] drivers/mtd/nand/raw/nand.ko LD [M] drivers/mtd/nand/raw/nand_ecc.ko LD [M] drivers/mtd/nand/raw/ndfc.ko LD [M] drivers/net/tun.ko LD [M] drivers/mtd/ubi/ubi.ko LD [M] drivers/mtd/ubi/gluebi.ko LD [M] drivers/video/backlight/backlight.ko LD [M] drivers/video/backlight/lcd.ko LD [M] drivers/video/backlight/generic_bl.ko LD [M] drivers/video/fbdev/core/cfbfillrect.ko LD [M] drivers/video/fbdev/core/cfbcopyarea.ko LD [M] drivers/video/fbdev/core/cfbimgblt.ko LD [M] drivers/video/fbdev/core/fb.ko LD [M] fs/ext4/ext4.ko LD [M] fs/fat/vfat.ko LD [M] fs/fat/fat.ko LD [M] fs/mbcache.ko LD [M] drivers/video/fbdev/xilinxfb.ko LD [M] fs/jbd2/jbd2.ko LD [M] fs/nls/nls_cp437.ko LD [M] fs/squashfs/squashfs.ko BOOTAR arch/powerpc/boot/wrapper.a LD [M] fs/nls/nls_iso8859-1.ko WRAP arch/powerpc/boot/uImage WRAP arch/powerpc/boot/cuImage.ebony WRAP arch/powerpc/boot/treeImage.ebony WRAP arch/powerpc/boot/cuImage.bamboo WRAP arch/powerpc/boot/treeImage.bamboo WRAP arch/powerpc/boot/cuImage.sequoia WRAP arch/powerpc/boot/cuImage.sam440ep WRAP arch/powerpc/boot/cuImage.rainier WRAP arch/powerpc/boot/cuImage.katmai WRAP arch/powerpc/boot/cuImage.warp WRAP arch/powerpc/boot/cuImage.yosemite WRAP arch/powerpc/boot/cuImage.taishan INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) LD [M] net/802/psnap.ko LD [M] lib/crc16.ko LD [M] net/802/stp.ko LD [M] lib/lzo/lzo_compress.ko LD [M] lib/crc-t10dif.ko LD [M] net/802/p8022.ko LD [M] net/bridge/bridge.ko LD [M] fs/ubifs/ubifs.ko LD [M] net/llc/llc.ko INFO: Uncompressed kernel (size 0x8ffec8) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x900000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) INFO: Uncompressed kernel (size 0x91062c) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4113049 Bytes = 4016.65 KiB = 3.92 MiB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4146457 Bytes = 4049.27 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a017b8 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4146866 Bytes = 4049.67 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a017ac Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4145900 Bytes = 4048.73 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a001bc Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4147203 Bytes = 4050.00 KiB = 3.96 MiB Load Address: 00a00000 Entry Point: 00a017a0 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4147289 Bytes = 4050.09 KiB = 3.96 MiB Load Address: 00a00000 Entry Point: 00a000c8 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4146011 Bytes = 4048.84 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a017c4 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4147165 Bytes = 4049.97 KiB = 3.96 MiB Load Address: 00a00000 Entry Point: 00a017c0 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4145956 Bytes = 4048.79 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a017c0 Image Name: Linux-5.2.0-rc2-00154-g6c5875843 Created: Mon Jul 8 11:46:56 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4146974 Bytes = 4049.78 KiB = 3.95 MiB Load Address: 00a00000 Entry Point: 00a017cc make[1]: Leaving directory '/mnt/build/kernel' real 44.888 user 15:49.83 sys 1:57.98 Linux version 5.2.0-rc2-00154-g6c5875843b87 (nathan@archlinux-threadripper) (ClangBuiltLinux clang version 9.0.0 (git://github.com/llvm/llvm-project b736969eddce563a7fd3fe10b8fe7adfd85c8692) (based on LLVM 9.0.0svn)) #1 Mon Jul 8 11:46:16 MST 2019 Found initrd at 0xc1900000:0xc1dff400 Using PowerPC 44x Platform machine description printk: bootconsole [udbg0] enabled ----------------------------------------------------- phys_mem_size = 0x8000000 dcache_bsize = 0x20 icache_bsize = 0x20 cpu_features = 0x0000000000000120 possible = 0x0000000040000120 always = 0x0000000000000020 cpu_user_features = 0x8c008000 0x00000000 mmu_features = 0x00000008 ----------------------------------------------------- Zone ranges: Normal [mem 0x0000000000000000-0x0000000007ffffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x0000000000000000-0x0000000007ffffff] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] MMU: Allocated 1088 bytes of context maps for 255 contexts Built 1 zonelists, mobility grouping on. Total pages: 32448 Kernel command line: console=ttyS0 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 108588K/131072K available (6648K kernel code, 604K rwdata, 1576K rodata, 376K init, 6647K bss, 22484K reserved, 0K cma-reserved) Kernel virtual memory layout: * 0xfffdf000..0xfffff000 : fixmap * 0xffddf000..0xfffdf000 : consistent mem * 0xffddd000..0xffddf000 : early ioremap * 0xd1000000..0xffddd000 : vmalloc & ioremap SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Running RCU self tests NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16 UIC0 (32 IRQ sources) at DCR 0xc0 clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0x5c4093a7d1, max_idle_ns: 440795210635 ns clocksource: timebase mult[2800000] shift[24] registered Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar ... MAX_LOCKDEP_SUBCLASSES: 8 ... MAX_LOCK_DEPTH: 48 ... MAX_LOCKDEP_KEYS: 8191 ... CLASSHASH_SIZE: 4096 ... MAX_LOCKDEP_ENTRIES: 32768 ... MAX_LOCKDEP_CHAINS: 65536 ... CHAINHASH_SIZE: 32768 memory used by lock dependency info: 4411 kB per task-struct memory footprint: 1536 bytes ------------------------ | Locking API testsuite: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-B-A deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok | ok | A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok | ok | double unlock: ok | ok | ok | ok | ok | ok | ok | initialize held: ok | ok | ok | ok | ok | ok | ok | -------------------------------------------------------------------------- recursive read-lock: | ok | | ok | recursive read-lock #2: | ok | | ok | mixed read-write-lock: | ok | | ok | mixed write-read-lock: | ok | | ok | mixed read-lock/lock-write ABBA: |FAILED| | ok | mixed read-lock/lock-read ABBA: | ok | | ok | mixed write-lock/lock-write ABBA: | ok | | ok | -------------------------------------------------------------------------- hard-irqs-on + irq-safe-A/12: ok | ok | ok | soft-irqs-on + irq-safe-A/12: ok | ok | ok | hard-irqs-on + irq-safe-A/21: ok | ok | ok | soft-irqs-on + irq-safe-A/21: ok | ok | ok | sirq-safe-A => hirqs-on/12: ok | ok | ok | sirq-safe-A => hirqs-on/21: ok | ok | ok | hard-safe-A + irqs-on/12: ok | ok | ok | soft-safe-A + irqs-on/12: ok | ok | ok | hard-safe-A + irqs-on/21: ok | ok | ok | soft-safe-A + irqs-on/21: ok | ok | ok | hard-safe-A + unsafe-B #1/123: ok | ok | ok | soft-safe-A + unsafe-B #1/123: ok | ok | ok | hard-safe-A + unsafe-B #1/132: ok | ok | ok | soft-safe-A + unsafe-B #1/132: ok | ok | ok | hard-safe-A + unsafe-B #1/213: ok | ok | ok | soft-safe-A + unsafe-B #1/213: ok | ok | ok | hard-safe-A + unsafe-B #1/231: ok | ok | ok | soft-safe-A + unsafe-B #1/231: ok | ok | ok | hard-safe-A + unsafe-B #1/312: ok | ok | ok | soft-safe-A + unsafe-B #1/312: ok | ok | ok | hard-safe-A + unsafe-B #1/321: ok | ok | ok | soft-safe-A + unsafe-B #1/321: ok | ok | ok | hard-safe-A + unsafe-B #2/123: ok | ok | ok | soft-safe-A + unsafe-B #2/123: ok | ok | ok | hard-safe-A + unsafe-B #2/132: ok | ok | ok | soft-safe-A + unsafe-B #2/132: ok | ok | ok | hard-safe-A + unsafe-B #2/213: ok | ok | ok | soft-safe-A + unsafe-B #2/213: ok | ok | ok | hard-safe-A + unsafe-B #2/231: ok | ok | ok | soft-safe-A + unsafe-B #2/231: ok | ok | ok | hard-safe-A + unsafe-B #2/312: ok | ok | ok | soft-safe-A + unsafe-B #2/312: ok | ok | ok | hard-safe-A + unsafe-B #2/321: ok | ok | ok | soft-safe-A + unsafe-B #2/321: ok | ok | ok | hard-irq lock-inversion/123: ok | ok | ok | soft-irq lock-inversion/123: ok | ok | ok | hard-irq lock-inversion/132: ok | ok | ok | soft-irq lock-inversion/132: ok | ok | ok | hard-irq lock-inversion/213: ok | ok | ok | soft-irq lock-inversion/213: ok | ok | ok | hard-irq lock-inversion/231: ok | ok | ok | soft-irq lock-inversion/231: ok | ok | ok | hard-irq lock-inversion/312: ok | ok | ok | soft-irq lock-inversion/312: ok | ok | ok | hard-irq lock-inversion/321: ok | ok | ok | soft-irq lock-inversion/321: ok | ok | ok | hard-irq read-recursion/123: ok | soft-irq read-recursion/123: ok | hard-irq read-recursion/132: ok | soft-irq read-recursion/132: ok | hard-irq read-recursion/213: ok | soft-irq read-recursion/213: ok | hard-irq read-recursion/231: ok | soft-irq read-recursion/231: ok | hard-irq read-recursion/312: ok | soft-irq read-recursion/312: ok | hard-irq read-recursion/321: ok | soft-irq read-recursion/321: ok | -------------------------------------------------------------------------- | Wound/wait tests | --------------------- ww api failures: ok | ok | ok | ww contexts mixing: ok | ok | finishing ww context: ok | ok | ok | ok | locking mismatches: ok | ok | ok | EDEADLK handling: ok | ok | ok | ok | ok | ok | ok | ok | ok | ok | spinlock nest unlocked: ok | ----------------------------------------------------- |block | try |context| ----------------------------------------------------- context: ok | ok | ok | try: ok | ok | ok | block: ok | ok | ok | spinlock: ok | ok | ok | ------------------------------------------------------- Good, all 261 testcases passed! | --------------------------------- pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) *** VALIDATE proc *** devtmpfs: initialized random: get_random_u32 called from rhashtable_init+0x29c/0x330 with crng_init=0 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns futex hash table entries: 256 (order: 1, 11264 bytes) NET: Registered protocol family 16 PCI host bridge /plb/pci@ec000000 (primary) ranges: MEM 0x00000000a0000000..0x00000000bfffffff -> 0x00000000a0000000 IO 0x00000000e8000000..0x00000000e800ffff -> 0x0000000000000000 4xx PCI DMA offset set to 0x00000000 4xx PCI DMA window base to 0x0000000000000000 DMA window size 0x0000000080000000 PCI: Probing PCI hardware PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0xffff] pci_bus 0000:00: root bus resource [mem 0xa0000000-0xbfffffff] pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff pci 0000:00:00.0: [1014:027f] type 00 class 0x068000 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 ppc4xx_pci_set_irq: PCI irq -1 PCI: Hiding 4xx host bridge resources 0000:00:00.0 pci 0000:00:01.0: [8086:100e] type 00 class 0x020000 pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x0001ffff] pci 0000:00:01.0: reg 0x14: [io 0x0000-0x003f] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 pci 0000:00:01.0: BAR 6: assigned [mem 0xa0000000-0xa003ffff pref] pci 0000:00:01.0: BAR 0: assigned [mem 0xa0040000-0xa005ffff] pci 0000:00:01.0: BAR 1: assigned [io 0x1000-0x103f] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] pci_bus 0000:00: resource 5 [mem 0xa0000000-0xbfffffff] vgaarb: loaded SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb clocksource: Switched to clocksource timebase NET: Registered protocol family 2 tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 5120 bytes) TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 3, 36864 bytes) TCP: Hash tables configured (established 1024 bind 1024) UDP hash table entries: 256 (order: 2, 20480 bytes) UDP-Lite hash table entries: 256 (order: 2, 20480 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. PCI: CLS 0 bytes, default 32 Trying to unpack rootfs image as initramfs... Freeing initrd memory: 5116K workingset: timestamp_bits=30 max_order=15 bucket_order=0 jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) io scheduler mq-deadline registered io scheduler kyber registered String selftests succeeded test_firmware: interface ready test passed test_bitmap: loaded. test_bitmap: parselist: 14: input is '0-2047:128/256' OK, Time: 16340 test_bitmap: parselist_user: 14: input is '0-2047:128/256' OK, Time: 4600 test_bitmap: all 1652 tests passed test_uuid: all 18 tests passed crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64 crc32: self tests passed, processed 225944 bytes in 468120 nsec crc32c: CRC_LE_BITS = 64 crc32c: self tests passed, processed 225944 bytes in 241893 nsec crc32_combine: 8373 self tests passed crc32c_combine: 8373 self tests passed glob: 64 self-tests passed, 0 failed rbtree testing -> test 1 (latency of nnodes insert+delete): 7020 cycles -> test 2 (latency of nnodes cached insert+delete): 6975 cycles -> test 3 (latency of inorder traversal): 1119 cycles -> test 4 (latency to fetch first node) non-cached: 25 cycles cached: 0 cycles augmented rbtree testing -> test 1 (latency of nnodes insert+delete): 10961 cycles -> test 2 (latency of nnodes cached insert+delete): 9407 cycles Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled printk: console [ttyS0] disabled serial8250.0: ttyS0 at MMIO 0xef600300 (irq = 16, base_baud = 691200) is a 16550A printk: console [ttyS0] enabled printk: console [ttyS0] enabled printk: bootconsole [udbg0] disabled printk: bootconsole [udbg0] disabled printk: console [ttyS0] disabled printk: console [ttyS0] enabled ef600400.serial: ttyS1 at MMIO 0xef600400 (irq = 17, base_baud = 691200) is a 16550 brd: module loaded megasas: 07.707.51.00-rc1 libphy: Fixed MDIO Bus: probed PPC 4xx OCP EMAC driver, version 3.54 ZMII /plb/opb/emac-zmii@ef600d00 initialized Fusion MPT base driver 3.04.20 Copyright (c) 1999-2008 LSI Corporation Fusion MPT SAS Host driver 3.04.20 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver usbcore: registered new interface driver uas usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usbtest usbcore: registered new interface driver usb_ehset_test usbcore: registered new interface driver lvs sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman NET: Registered protocol family 10 Segment Routing with IPv6 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered protocol family 17 drmem: No dynamic reconfiguration memory found Freeing unused kernel memory: 376K This architecture does not have kernel memory protection. Run /init as init process init[1]: segfault (11) at b7bcc6f4 nip b7b59d0c lr b7b59cc0 code 2 in libuClibc-1.0.30.so[b7b14000+89000] init[1]: code: 83bf002c 3b3c0010 813d0004 5529003a 7f994840 419d03f8 7d5de214 63880001 init[1]: code: 7f9c4850 915f002c 639c0001 911d0004 <938a0004> 4800007c 7f99e040 419c0034 Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b CPU: 0 PID: 1 Comm: init Not tainted 5.2.0-rc2-00154-g6c5875843b87 #1 Call Trace: [c7839d48] [c0657944] dump_stack+0x24/0x34 (unreliable) [c7839d58] [c003a024] panic+0x160/0x390 [c7839db8] [c003d0f8] exit_mm+0x0/0x1f0 [c7839e08] [c003d3c0] do_group_exit+0x9c/0xb0 [c7839e28] [c004c370] get_signal+0x85c/0xa34 [c7839ec8] [c0009120] do_notify_resume+0xd8/0x300 [c7839f38] [c000f97c] do_user_signal+0x2c/0x34 --- interrupt: 300 at 0xb7b59d0c LR = 0xb7b59cc0 Rebooting in 180 seconds..
Le 08/07/2019 à 21:14, Nathan Chancellor a écrit : > On Mon, Jul 08, 2019 at 11:19:30AM +1000, Michael Ellerman wrote: >> On Fri, 2019-05-10 at 09:24:48 UTC, Christophe Leroy wrote: >>> Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers >>> that are summed to obtain the target address. Using 'Z' constraint >>> and '%y0' argument gives GCC the opportunity to use both registers >>> instead of only one with the second being forced to 0. >>> >>> Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> >>> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> >> >> Applied to powerpc next, thanks. >> >> https://git.kernel.org/powerpc/c/6c5875843b87c3adea2beade9d1b8b3d4523900a >> >> cheers > > This patch causes a regression with clang: Is that a Clang bug ? Do you have a disassembly of the code both with and without this patch in order to compare ? Segher, any idea ? Christophe > > https://travis-ci.com/ClangBuiltLinux/continuous-integration/jobs/213944668 > > I've attached my local bisect/build log. > > Cheers, > Nathan >
On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > > > Le 08/07/2019 à 21:14, Nathan Chancellor a écrit : > > On Mon, Jul 08, 2019 at 11:19:30AM +1000, Michael Ellerman wrote: > > > On Fri, 2019-05-10 at 09:24:48 UTC, Christophe Leroy wrote: > > > > Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers > > > > that are summed to obtain the target address. Using 'Z' constraint > > > > and '%y0' argument gives GCC the opportunity to use both registers > > > > instead of only one with the second being forced to 0. > > > > > > > > Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> > > > > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > > > > > > Applied to powerpc next, thanks. > > > > > > https://git.kernel.org/powerpc/c/6c5875843b87c3adea2beade9d1b8b3d4523900a > > > > > > cheers > > > > This patch causes a regression with clang: > > Is that a Clang bug ? No idea, it happens with clang-8 and clang-9 though (pretty sure there were fixes for PowerPC in clang-8 so something before it probably won't work but I haven't tried). > > Do you have a disassembly of the code both with and without this patch in > order to compare ? I can give you whatever disassembly you want (or I can upload the raw files if that is easier). Cheers, Nathan > > Segher, any idea ? > > Christophe > > > > > https://travis-ci.com/ClangBuiltLinux/continuous-integration/jobs/213944668 > > > > I've attached my local bisect/build log. > > > > Cheers, > > Nathan > >
On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > Le 08/07/2019 à 21:14, Nathan Chancellor a écrit : > >On Mon, Jul 08, 2019 at 11:19:30AM +1000, Michael Ellerman wrote: > >>On Fri, 2019-05-10 at 09:24:48 UTC, Christophe Leroy wrote: > >>>Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers > >>>that are summed to obtain the target address. Using 'Z' constraint > >>>and '%y0' argument gives GCC the opportunity to use both registers > >>>instead of only one with the second being forced to 0. > >>> > >>>Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> > >>>Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> > >> > >>Applied to powerpc next, thanks. > >> > >>https://git.kernel.org/powerpc/c/6c5875843b87c3adea2beade9d1b8b3d4523900a > >> > >>cheers > > > >This patch causes a regression with clang: > > Is that a Clang bug ? I would think so, but cannot tell from the given information. > Do you have a disassembly of the code both with and without this patch > in order to compare ? That's what we need to start debugging this, yup. > Segher, any idea ? There is nothing I recognise, no. Segher
On Mon, Jul 08, 2019 at 11:49:52PM -0700, Nathan Chancellor wrote: > On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > > Is that a Clang bug ? > > No idea, it happens with clang-8 and clang-9 though (pretty sure there > were fixes for PowerPC in clang-8 so something before it probably won't > work but I haven't tried). > > > > > Do you have a disassembly of the code both with and without this patch in > > order to compare ? > > I can give you whatever disassembly you want (or I can upload the raw > files if that is easier). > > Cheers, > Nathan Hi Christophe and Segher, What disassembly/files did you need to start taking a look at this? I can upload/send whatever you need. If it is easier, we have a self contained clang build script available to make it easier to reproduce this on your side (does assume an x86_64 host): https://github.com/ClangBuiltLinux/tc-build Cheers, Nathan
On Thu, Jul 18, 2019 at 08:24:56PM -0700, Nathan Chancellor wrote: > On Mon, Jul 08, 2019 at 11:49:52PM -0700, Nathan Chancellor wrote: > > On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > > > Is that a Clang bug ? > > > > No idea, it happens with clang-8 and clang-9 though (pretty sure there > > were fixes for PowerPC in clang-8 so something before it probably won't > > work but I haven't tried). > > > > > > > > Do you have a disassembly of the code both with and without this patch in > > > order to compare ? > > > > I can give you whatever disassembly you want (or I can upload the raw > > files if that is easier). > > What disassembly/files did you need to start taking a look at this? I > can upload/send whatever you need. A before and after of *only this patch*. And then look at what changed; it maybe be obvious what is the problem to you, as well, so look at it yourself first? Segher
On Fri, Jul 19, 2019 at 10:23:03AM -0500, Segher Boessenkool wrote: > On Thu, Jul 18, 2019 at 08:24:56PM -0700, Nathan Chancellor wrote: > > On Mon, Jul 08, 2019 at 11:49:52PM -0700, Nathan Chancellor wrote: > > > On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > > > > Is that a Clang bug ? > > > > > > No idea, it happens with clang-8 and clang-9 though (pretty sure there > > > were fixes for PowerPC in clang-8 so something before it probably won't > > > work but I haven't tried). > > > > > > > > > > > Do you have a disassembly of the code both with and without this patch in > > > > order to compare ? > > > > > > I can give you whatever disassembly you want (or I can upload the raw > > > files if that is easier). > > > > What disassembly/files did you need to start taking a look at this? I > > can upload/send whatever you need. > > A before and after of *only this patch*. And then look at what changed; > it maybe be obvious what is the problem to you, as well, so look at it > yourself first? > > > Segher Thanks, I will go ahead and disassemble the full kernel given that those helpers are everywhere and see what I can find. I'll reach out again if I can't come up with anything. Thanks for the advice! Nathan
On Fri, Jul 19, 2019 at 09:04:55AM -0700, Nathan Chancellor wrote: > On Fri, Jul 19, 2019 at 10:23:03AM -0500, Segher Boessenkool wrote: > > On Thu, Jul 18, 2019 at 08:24:56PM -0700, Nathan Chancellor wrote: > > > On Mon, Jul 08, 2019 at 11:49:52PM -0700, Nathan Chancellor wrote: > > > > On Tue, Jul 09, 2019 at 07:04:43AM +0200, Christophe Leroy wrote: > > > > > Is that a Clang bug ? > > > > > > > > No idea, it happens with clang-8 and clang-9 though (pretty sure there > > > > were fixes for PowerPC in clang-8 so something before it probably won't > > > > work but I haven't tried). > > > > > > > > > > > > > > Do you have a disassembly of the code both with and without this patch in > > > > > order to compare ? > > > > > > > > I can give you whatever disassembly you want (or I can upload the raw > > > > files if that is easier). > > > > > > What disassembly/files did you need to start taking a look at this? I > > > can upload/send whatever you need. > > > > A before and after of *only this patch*. And then look at what changed; > > it maybe be obvious what is the problem to you, as well, so look at it > > yourself first? > > > > > > Segher Hi Segher, Looks like the problematic function is dcbz, as there is no segfault when only that function is reverted to a pre-6c5875843b87c3adea2beade9d1b8b3d4523900a state. I was able to expose a singular problematic callsite using the attached patch (let me know if that is insufficient). I have attached the disassembly of arch/powerpc/kernel/mem.o with clear_page (working) and broken_clear_page (broken), along with the side by side diff. My assembly knowledge is fairly limited as it stands and it is certainly not up to snuff on PowerPC so I have no idea what I am looking for. Please let me know if anything immediately looks off or if there is anything else I can do to help out. Cheers, Nathan From 3d7f79f7601c312d47245141185bea7defffffa4 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor <natechancellor@gmail.com> Date: Sat, 20 Jul 2019 23:37:55 -0700 Subject: [PATCH] powerpc: Test broken dcbz Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- arch/powerpc/include/asm/cache.h | 2 +- arch/powerpc/include/asm/page_32.h | 13 +++++++++++++ arch/powerpc/mm/mem.c | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index b3388d95f451..ba76291b4d4d 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h @@ -107,7 +107,7 @@ extern void _set_L3CR(unsigned long); static inline void dcbz(void *addr) { - __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); + __asm__ __volatile__ ("dcbz 0, %0" : : "r"(addr) : "memory"); } static inline void dcbi(void *addr) diff --git a/arch/powerpc/include/asm/page_32.h b/arch/powerpc/include/asm/page_32.h index 683dfbc67ca8..125c2ba7cd79 100644 --- a/arch/powerpc/include/asm/page_32.h +++ b/arch/powerpc/include/asm/page_32.h @@ -40,6 +40,19 @@ typedef unsigned long long pte_basic_t; typedef unsigned long pte_basic_t; #endif +static inline void broken_dcbz(void *addr) +{ + __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); +} + +static inline void broken_clear_page(void *addr) +{ + unsigned int i; + + for (i = 0; i < PAGE_SIZE / L1_CACHE_BYTES; i++, addr += L1_CACHE_BYTES) + broken_dcbz(addr); +} + /* * Clear page using the dcbz instruction, which doesn't cause any * memory traffic (except to write out any cache lines which get diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index 9259337d7374..7bb88e7a2e4c 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c @@ -361,7 +361,7 @@ EXPORT_SYMBOL(flush_dcache_icache_page); void clear_user_page(void *page, unsigned long vaddr, struct page *pg) { - clear_page(page); + broken_clear_page(page); /* * We shouldn't have to do this, but some versions of glibc
On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > I have attached the disassembly of arch/powerpc/kernel/mem.o with > clear_page (working) and broken_clear_page (broken), along with the side > by side diff. My assembly knowledge is fairly limited as it stands and > it is certainly not up to snuff on PowerPC so I have no idea what I am > looking for. Please let me know if anything immediately looks off or if > there is anything else I can do to help out. You might want to use a disassembler that shows most simplified mnemonics, and you crucially should show the relocations. "objdump -dr" works nicely. > 0000017c clear_user_page: > 17c: 38 80 00 80 li 4, 128 > 180: 7c 89 03 a6 mtctr 4 > 184: 7c 00 1f ec dcbz 0, 3 > 188: 38 63 00 20 addi 3, 3, 32 > 18c: 42 00 ff f8 bdnz .+65528 That offset is incorrectly disassembled, btw (it's a signed field, not unsigned). > 0000017c clear_user_page: > 17c: 94 21 ff f0 stwu 1, -16(1) > 180: 38 80 00 80 li 4, 128 > 184: 38 63 ff e0 addi 3, 3, -32 > 188: 7c 89 03 a6 mtctr 4 > 18c: 38 81 00 0f addi 4, 1, 15 > 190: 8c c3 00 20 lbzu 6, 32(3) > 194: 98 c1 00 0f stb 6, 15(1) > 198: 7c 00 27 ec dcbz 0, 4 > 19c: 42 00 ff f4 bdnz .+65524 Uh, yeah, well, I have no idea what clang tried here, but that won't work. It's copying a byte from each target cache line to the stack, and then does clears the cache line containing that byte on the stack. I *guess* this is about "Z" and not about "%y", but you'll have to ask the clang people. Or it may be that they do not treat inline asm operands as lvalues properly? That rings some bells. Yeah that looks like it. Segher
Hi Segher, On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > I have attached the disassembly of arch/powerpc/kernel/mem.o with > > clear_page (working) and broken_clear_page (broken), along with the side > > by side diff. My assembly knowledge is fairly limited as it stands and > > it is certainly not up to snuff on PowerPC so I have no idea what I am > > looking for. Please let me know if anything immediately looks off or if > > there is anything else I can do to help out. > > You might want to use a disassembler that shows most simplified mnemonics, > and you crucially should show the relocations. "objdump -dr" works nicely. Copy, those are attached below if you want to take a further look at them. > > 0000017c clear_user_page: > > 17c: 38 80 00 80 li 4, 128 > > 180: 7c 89 03 a6 mtctr 4 > > 184: 7c 00 1f ec dcbz 0, 3 > > 188: 38 63 00 20 addi 3, 3, 32 > > 18c: 42 00 ff f8 bdnz .+65528 > > That offset is incorrectly disassembled, btw (it's a signed field, not > unsigned). > > > 0000017c clear_user_page: > > 17c: 94 21 ff f0 stwu 1, -16(1) > > 180: 38 80 00 80 li 4, 128 > > 184: 38 63 ff e0 addi 3, 3, -32 > > 188: 7c 89 03 a6 mtctr 4 > > 18c: 38 81 00 0f addi 4, 1, 15 > > 190: 8c c3 00 20 lbzu 6, 32(3) > > 194: 98 c1 00 0f stb 6, 15(1) > > 198: 7c 00 27 ec dcbz 0, 4 > > 19c: 42 00 ff f4 bdnz .+65524 > > Uh, yeah, well, I have no idea what clang tried here, but that won't > work. It's copying a byte from each target cache line to the stack, > and then does clears the cache line containing that byte on the stack. > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > the clang people. > > Or it may be that they do not treat inline asm operands as lvalues > properly? That rings some bells. Yeah that looks like it. > > > Segher Okay, I think I understand... I think this is enough to bring up an LLVM bug report but I'll ask some of the LLVM folks I know before doing so. Thank you for all of the input, I really appreciate it, Nathan mem-working.o: file format elf32-powerpc Disassembly of section .text: 00000000 <phys_mem_access_prot>: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff e0 stwu r1,-32(r1) c: 93 a1 00 14 stw r29,20(r1) 10: 7c fd 3b 78 mr r29,r7 14: 3c e0 00 00 lis r7,0 16: R_PPC_ADDR16_HA ppc_md 18: 38 e7 00 00 addi r7,r7,0 1a: R_PPC_ADDR16_LO ppc_md 1c: 81 07 00 a0 lwz r8,160(r7) 20: 93 c1 00 18 stw r30,24(r1) 24: 28 08 00 00 cmplwi r8,0 28: 7c 7e 1b 78 mr r30,r3 2c: 41 82 00 20 beq 4c <phys_mem_access_prot+0x4c> 30: 80 7d 00 00 lwz r3,0(r29) 34: 38 e1 00 08 addi r7,r1,8 38: 7d 09 03 a6 mtctr r8 3c: 90 61 00 08 stw r3,8(r1) 40: 7f c3 f3 78 mr r3,r30 44: 4e 80 04 21 bctrl 48: 48 00 00 28 b 70 <phys_mem_access_prot+0x70> 4c: 7c a3 2b 78 mr r3,r5 50: 48 00 00 01 bl 50 <phys_mem_access_prot+0x50> 50: R_PPC_PLTREL24 page_is_ram 54: 28 03 00 00 cmplwi r3,0 58: 80 7d 00 00 lwz r3,0(r29) 5c: 40 82 00 10 bne 6c <phys_mem_access_prot+0x6c> 60: 54 63 06 26 rlwinm r3,r3,0,24,19 64: 60 63 05 00 ori r3,r3,1280 68: 90 7d 00 00 stw r3,0(r29) 6c: 90 7e 00 00 stw r3,0(r30) 70: 83 c1 00 18 lwz r30,24(r1) 74: 83 a1 00 14 lwz r29,20(r1) 78: 80 01 00 24 lwz r0,36(r1) 7c: 38 21 00 20 addi r1,r1,32 80: 7c 08 03 a6 mtlr r0 84: 4e 80 00 20 blr 00000088 <free_initmem>: 88: 7c 08 02 a6 mflr r0 8c: 90 01 00 04 stw r0,4(r1) 90: 94 21 ff f0 stwu r1,-16(r1) 94: 3c 60 00 00 lis r3,0 96: R_PPC_ADDR16_HA ppc_md 98: 3c 80 00 00 lis r4,0 9a: R_PPC_ADDR16_HA ppc_printk_progress 9c: 38 63 00 00 addi r3,r3,0 9e: R_PPC_ADDR16_LO ppc_md a0: 38 84 00 00 addi r4,r4,0 a2: R_PPC_ADDR16_LO ppc_printk_progress a4: 90 83 00 60 stw r4,96(r3) a8: 48 00 00 01 bl a8 <free_initmem+0x20> a8: R_PPC_PLTREL24 mark_initmem_nx ac: 3c 60 00 00 lis r3,0 ae: R_PPC_ADDR16_HA init_mem_is_free b0: 38 80 00 01 li r4,1 b4: 98 83 00 00 stb r4,0(r3) b6: R_PPC_ADDR16_LO init_mem_is_free b8: 3c 60 00 00 lis r3,0 ba: R_PPC_ADDR16_HA __init_begin bc: 3c 80 00 00 lis r4,0 be: R_PPC_ADDR16_HA __init_end c0: 3c a0 00 00 lis r5,0 c2: R_PPC_ADDR16_HA .rodata.str1.1+0x107 c4: 38 63 00 00 addi r3,r3,0 c6: R_PPC_ADDR16_LO __init_begin c8: 38 84 00 00 addi r4,r4,0 ca: R_PPC_ADDR16_LO __init_end cc: 38 c5 00 00 addi r6,r5,0 ce: R_PPC_ADDR16_LO .rodata.str1.1+0x107 d0: 38 a0 00 cc li r5,204 d4: 48 00 00 01 bl d4 <free_initmem+0x4c> d4: R_PPC_PLTREL24 free_reserved_area d8: 80 01 00 14 lwz r0,20(r1) dc: 38 21 00 10 addi r1,r1,16 e0: 7c 08 03 a6 mtlr r0 e4: 4e 80 00 20 blr 000000e8 <flush_dcache_page>: e8: 80 83 00 00 lwz r4,0(r3) ec: 70 84 08 00 andi. r4,r4,2048 f0: 4d 82 00 20 beqlr f4: 38 80 08 00 li r4,2048 f8: 7c a0 18 28 lwarx r5,0,r3 fc: 7c a5 20 78 andc r5,r5,r4 100: 7c a0 19 2d stwcx. r5,0,r3 104: 40 a2 ff f4 bne f8 <flush_dcache_page+0x10> 108: 4e 80 00 20 blr 0000010c <flush_dcache_icache_page>: 10c: 7c 08 02 a6 mflr r0 110: 90 01 00 04 stw r0,4(r1) 114: 94 21 ff f0 stwu r1,-16(r1) 118: 80 82 00 00 lwz r4,0(r2) 11c: 38 84 00 01 addi r4,r4,1 120: 90 82 00 00 stw r4,0(r2) 124: 80 82 0a e4 lwz r4,2788(r2) 128: 38 84 00 01 addi r4,r4,1 12c: 90 82 0a e4 stw r4,2788(r2) 130: 3c 80 00 00 lis r4,0 132: R_PPC_ADDR16_HA mem_map 134: 80 84 00 00 lwz r4,0(r4) 136: R_PPC_ADDR16_LO mem_map 138: 7c 64 18 50 subf r3,r4,r3 13c: 3c 80 cc cc lis r4,-13108 140: 54 63 e8 fe rlwinm r3,r3,29,3,31 144: 60 84 d0 00 ori r4,r4,53248 148: 7c 63 21 d6 mullw r3,r3,r4 14c: 3c 63 c0 00 addis r3,r3,-16384 150: 48 00 00 01 bl 150 <flush_dcache_icache_page+0x44> 150: R_PPC_PLTREL24 __flush_dcache_icache 154: 80 62 0a e4 lwz r3,2788(r2) 158: 38 63 ff ff addi r3,r3,-1 15c: 90 62 0a e4 stw r3,2788(r2) 160: 80 62 00 00 lwz r3,0(r2) 164: 38 63 ff ff addi r3,r3,-1 168: 90 62 00 00 stw r3,0(r2) 16c: 80 01 00 14 lwz r0,20(r1) 170: 38 21 00 10 addi r1,r1,16 174: 7c 08 03 a6 mtlr r0 178: 4e 80 00 20 blr 0000017c <clear_user_page>: 17c: 38 80 00 80 li r4,128 180: 7c 89 03 a6 mtctr r4 184: 7c 00 1f ec dcbz 0,r3 188: 38 63 00 20 addi r3,r3,32 18c: 42 00 ff f8 bdnz 184 <clear_user_page+0x8> 190: 80 65 00 00 lwz r3,0(r5) 194: 70 63 08 00 andi. r3,r3,2048 198: 4d 82 00 20 beqlr 19c: 38 60 08 00 li r3,2048 1a0: 7c 80 28 28 lwarx r4,0,r5 1a4: 7c 84 18 78 andc r4,r4,r3 1a8: 7c 80 29 2d stwcx. r4,0,r5 1ac: 40 a2 ff f4 bne 1a0 <clear_user_page+0x24> 1b0: 4e 80 00 20 blr 000001b4 <copy_user_page>: 1b4: 7c 08 02 a6 mflr r0 1b8: 90 01 00 04 stw r0,4(r1) 1bc: 94 21 ff f0 stwu r1,-16(r1) 1c0: 93 c1 00 08 stw r30,8(r1) 1c4: 7c de 33 78 mr r30,r6 1c8: 48 00 00 01 bl 1c8 <copy_user_page+0x14> 1c8: R_PPC_PLTREL24 copy_page 1cc: 80 7e 00 00 lwz r3,0(r30) 1d0: 70 63 08 00 andi. r3,r3,2048 1d4: 41 82 00 18 beq 1ec <copy_user_page+0x38> 1d8: 38 60 08 00 li r3,2048 1dc: 7c 80 f0 28 lwarx r4,0,r30 1e0: 7c 84 18 78 andc r4,r4,r3 1e4: 7c 80 f1 2d stwcx. r4,0,r30 1e8: 40 a2 ff f4 bne 1dc <copy_user_page+0x28> 1ec: 83 c1 00 08 lwz r30,8(r1) 1f0: 80 01 00 14 lwz r0,20(r1) 1f4: 38 21 00 10 addi r1,r1,16 1f8: 7c 08 03 a6 mtlr r0 1fc: 4e 80 00 20 blr 00000200 <flush_icache_user_range>: 200: 7c 08 02 a6 mflr r0 204: 90 01 00 04 stw r0,4(r1) 208: 94 21 ff e0 stwu r1,-32(r1) 20c: 3c 60 00 00 lis r3,0 20e: R_PPC_ADDR16_HA .rodata.str1.1+0x115 210: 93 81 00 10 stw r28,16(r1) 214: 7c 9c 23 78 mr r28,r4 218: 38 63 00 00 addi r3,r3,0 21a: R_PPC_ADDR16_LO .rodata.str1.1+0x115 21c: 38 80 00 53 li r4,83 220: 93 a1 00 14 stw r29,20(r1) 224: 7c bd 2b 78 mr r29,r5 228: 38 a0 00 00 li r5,0 22c: 93 c1 00 18 stw r30,24(r1) 230: 7c de 33 78 mr r30,r6 234: 48 00 00 01 bl 234 <flush_icache_user_range+0x34> 234: R_PPC_PLTREL24 __might_sleep 238: 3c 60 00 00 lis r3,0 23a: R_PPC_ADDR16_HA mem_map 23c: 3c 80 cc cc lis r4,-13108 240: 80 63 00 00 lwz r3,0(r3) 242: R_PPC_ADDR16_LO mem_map 244: 60 84 d0 00 ori r4,r4,53248 248: 7c 63 e0 50 subf r3,r3,r28 24c: 54 63 e8 fe rlwinm r3,r3,29,3,31 250: 7c 63 21 d6 mullw r3,r3,r4 254: 57 a4 05 3e clrlwi r4,r29,20 258: 50 64 00 26 rlwimi r4,r3,0,0,19 25c: 3c 64 c0 00 addis r3,r4,-16384 260: 7c 83 f2 14 add r4,r3,r30 264: 48 00 00 01 bl 264 <flush_icache_user_range+0x64> 264: R_PPC_PLTREL24 flush_icache_range 268: 83 c1 00 18 lwz r30,24(r1) 26c: 83 a1 00 14 lwz r29,20(r1) 270: 83 81 00 10 lwz r28,16(r1) 274: 80 01 00 24 lwz r0,36(r1) 278: 38 21 00 20 addi r1,r1,32 27c: 7c 08 03 a6 mtlr r0 280: 4e 80 00 20 blr 00000284 <update_mmu_cache>: 284: 4e 80 00 20 blr 00000288 <devmem_is_allowed>: 288: 7c 08 02 a6 mflr r0 28c: 90 01 00 04 stw r0,4(r1) 290: 94 21 ff f0 stwu r1,-16(r1) 294: 93 c1 00 08 stw r30,8(r1) 298: 7c 7e 1b 78 mr r30,r3 29c: 54 63 65 3e rlwinm r3,r3,12,20,31 2a0: 57 c4 60 26 rlwinm r4,r30,12,0,19 2a4: 48 00 00 01 bl 2a4 <devmem_is_allowed+0x1c> 2a4: R_PPC_PLTREL24 iomem_is_exclusive 2a8: 70 63 00 01 andi. r3,r3,1 2ac: 38 60 00 00 li r3,0 2b0: 41 81 00 14 bgt 2c4 <devmem_is_allowed+0x3c> 2b4: 7f c3 f3 78 mr r3,r30 2b8: 48 00 00 01 bl 2b8 <devmem_is_allowed+0x30> 2b8: R_PPC_PLTREL24 page_is_ram 2bc: 7c 63 00 34 cntlzw r3,r3 2c0: 54 63 df fe rlwinm r3,r3,27,31,31 2c4: 83 c1 00 08 lwz r30,8(r1) 2c8: 80 01 00 14 lwz r0,20(r1) 2cc: 38 21 00 10 addi r1,r1,16 2d0: 7c 08 03 a6 mtlr r0 2d4: 4e 80 00 20 blr Disassembly of section .init.text: 00000000 <mem_topology_setup>: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff f0 stwu r1,-16(r1) c: 48 00 00 01 bl c <mem_topology_setup+0xc> c: R_PPC_PLTREL24 memblock_end_of_DRAM 10: 54 84 a0 3e rotlwi r4,r4,20 14: 3c a0 00 00 lis r5,0 16: R_PPC_ADDR16_HA max_pfn 18: 50 64 a0 16 rlwimi r4,r3,20,0,11 1c: 3c 60 00 00 lis r3,0 1e: R_PPC_ADDR16_HA max_low_pfn 20: 90 85 00 00 stw r4,0(r5) 22: R_PPC_ADDR16_LO max_pfn 24: 38 a0 ff ff li r5,-1 28: 90 83 00 00 stw r4,0(r3) 2a: R_PPC_ADDR16_LO max_low_pfn 2c: 3c 60 00 00 lis r3,0 2e: R_PPC_ADDR16_HA min_low_pfn 30: 38 80 00 00 li r4,0 34: 38 c0 ff ff li r6,-1 38: 39 00 00 00 li r8,0 3c: 90 83 00 00 stw r4,0(r3) 3e: R_PPC_ADDR16_LO min_low_pfn 40: 3c 60 00 00 lis r3,0 42: R_PPC_ADDR16_HA memblock 44: 38 80 00 00 li r4,0 48: 38 63 00 00 addi r3,r3,0 4a: R_PPC_ADDR16_LO memblock 4c: 38 e3 00 10 addi r7,r3,16 50: 38 60 00 00 li r3,0 54: 48 00 00 01 bl 54 <mem_topology_setup+0x54> 54: R_PPC_PLTREL24 memblock_set_node 58: 80 01 00 14 lwz r0,20(r1) 5c: 38 21 00 10 addi r1,r1,16 60: 7c 08 03 a6 mtlr r0 64: 4e 80 00 20 blr 00000068 <initmem_init>: 68: 7c 08 02 a6 mflr r0 6c: 90 01 00 04 stw r0,4(r1) 70: 94 21 ff f0 stwu r1,-16(r1) 74: 38 60 00 00 li r3,0 78: 48 00 00 01 bl 78 <initmem_init+0x10> 78: R_PPC_PLTREL24 sparse_memory_present_with_active_regions 7c: 80 01 00 14 lwz r0,20(r1) 80: 38 21 00 10 addi r1,r1,16 84: 7c 08 03 a6 mtlr r0 88: 4e 80 00 20 blr 0000008c <paging_init>: 8c: 7c 08 02 a6 mflr r0 90: 90 01 00 04 stw r0,4(r1) 94: 94 21 ff d0 stwu r1,-48(r1) 98: 93 21 00 14 stw r25,20(r1) 9c: 93 41 00 18 stw r26,24(r1) a0: 93 61 00 1c stw r27,28(r1) a4: 93 81 00 20 stw r28,32(r1) a8: 93 a1 00 24 stw r29,36(r1) ac: 93 c1 00 28 stw r30,40(r1) b0: 48 00 00 01 bl b0 <paging_init+0x24> b0: R_PPC_PLTREL24 memblock_phys_mem_size b4: 7c 7e 1b 78 mr r30,r3 b8: 7c 9d 23 78 mr r29,r4 bc: 3f 40 ff fe lis r26,-2 c0: 48 00 00 01 bl c0 <paging_init+0x34> c0: R_PPC_PLTREL24 memblock_end_of_DRAM c4: 7c 7c 1b 78 mr r28,r3 c8: 7c 9b 23 78 mr r27,r4 cc: 3b 20 00 00 li r25,0 d0: 38 e1 00 08 addi r7,r1,8 d4: 7f 43 d3 78 mr r3,r26 d8: 93 21 00 10 stw r25,16(r1) dc: 38 a0 00 00 li r5,0 e0: 38 c0 00 00 li r6,0 e4: 93 21 00 08 stw r25,8(r1) e8: 48 00 00 01 bl e8 <paging_init+0x5c> e8: R_PPC_PLTREL24 map_kernel_page ec: 3b 5a 10 00 addi r26,r26,4096 f0: 2c 1a f0 00 cmpwi r26,-4096 f4: 40 82 ff dc bne d0 <paging_init+0x44> f8: 3c 60 00 00 lis r3,0 fa: R_PPC_ADDR16_HA .rodata.str1.1 fc: 4c c6 31 82 crclr 4*cr1+eq 100: 7f 85 e3 78 mr r5,r28 104: 38 63 00 00 addi r3,r3,0 106: R_PPC_ADDR16_LO .rodata.str1.1 108: 7f 66 db 78 mr r6,r27 10c: 7f c7 f3 78 mr r7,r30 110: 7f a8 eb 78 mr r8,r29 114: 48 00 00 01 bl 114 <paging_init+0x88> 114: R_PPC_PLTREL24 printk 118: 7c 7d d8 10 subfc r3,r29,r27 11c: 4c c6 31 82 crclr 4*cr1+eq 120: 7c be e1 10 subfe r5,r30,r28 124: 54 64 60 3e rotlwi r4,r3,12 128: 3c 60 00 00 lis r3,0 12a: R_PPC_ADDR16_HA .rodata.str1.1+0x29 12c: 50 a4 60 26 rlwimi r4,r5,12,0,19 130: 38 63 00 00 addi r3,r3,0 132: R_PPC_ADDR16_LO .rodata.str1.1+0x29 134: 48 00 00 01 bl 134 <paging_init+0xa8> 134: R_PPC_PLTREL24 printk 138: 3c 60 00 00 lis r3,0 13a: R_PPC_ADDR16_HA max_low_pfn 13c: 80 83 00 00 lwz r4,0(r3) 13e: R_PPC_ADDR16_LO max_low_pfn 140: 3c 60 00 00 lis r3,0 142: R_PPC_ADDR16_HA .bss+0x10 144: 94 83 00 00 stwu r4,0(r3) 146: R_PPC_ADDR16_LO .bss+0x10 148: 48 00 00 01 bl 148 <paging_init+0xbc> 148: R_PPC_PLTREL24 free_area_init_nodes 14c: 83 c1 00 28 lwz r30,40(r1) 150: 83 a1 00 24 lwz r29,36(r1) 154: 83 81 00 20 lwz r28,32(r1) 158: 83 61 00 1c lwz r27,28(r1) 15c: 83 41 00 18 lwz r26,24(r1) 160: 83 21 00 14 lwz r25,20(r1) 164: 80 01 00 34 lwz r0,52(r1) 168: 38 21 00 30 addi r1,r1,48 16c: 7c 08 03 a6 mtlr r0 170: 4e 80 00 20 blr 00000174 <mem_init>: 174: 7c 08 02 a6 mflr r0 178: 90 01 00 04 stw r0,4(r1) 17c: 94 21 ff e0 stwu r1,-32(r1) 180: 3c 60 00 00 lis r3,0 182: R_PPC_ADDR16_HA max_low_pfn 184: 3c 80 00 00 lis r4,0 186: R_PPC_ADDR16_HA max_pfn 188: 93 81 00 10 stw r28,16(r1) 18c: 3f 80 00 00 lis r28,0 18e: R_PPC_ADDR16_HA high_memory 190: 80 63 00 00 lwz r3,0(r3) 192: R_PPC_ADDR16_LO max_low_pfn 194: 80 84 00 00 lwz r4,0(r4) 196: R_PPC_ADDR16_LO max_pfn 198: 54 63 60 26 rlwinm r3,r3,12,0,19 19c: 3c 63 c0 00 addis r3,r3,-16384 1a0: 90 7c 00 00 stw r3,0(r28) 1a2: R_PPC_ADDR16_LO high_memory 1a4: 3c 60 00 00 lis r3,0 1a6: R_PPC_ADDR16_HA max_mapnr 1a8: 93 a1 00 14 stw r29,20(r1) 1ac: 93 c1 00 18 stw r30,24(r1) 1b0: 90 83 00 00 stw r4,0(r3) 1b2: R_PPC_ADDR16_LO max_mapnr 1b4: 48 00 00 01 bl 1b4 <mem_init+0x40> 1b4: R_PPC_PLTREL24 memblock_free_all 1b8: 38 60 00 00 li r3,0 1bc: 48 00 00 01 bl 1bc <mem_init+0x48> 1bc: R_PPC_PLTREL24 mem_init_print_info 1c0: 3c 60 00 00 lis r3,0 1c2: R_PPC_ADDR16_HA .rodata.str1.1+0x44 1c4: 4c c6 31 82 crclr 4*cr1+eq 1c8: 38 63 00 00 addi r3,r3,0 1ca: R_PPC_ADDR16_LO .rodata.str1.1+0x44 1cc: 48 00 00 01 bl 1cc <mem_init+0x58> 1cc: R_PPC_PLTREL24 printk 1d0: 3c 80 ff fd lis r4,-3 1d4: 3c 60 00 00 lis r3,0 1d6: R_PPC_ADDR16_HA .rodata.str1.1+0x65 1d8: 4c c6 31 82 crclr 4*cr1+eq 1dc: 60 9e f0 00 ori r30,r4,61440 1e0: 38 63 00 00 addi r3,r3,0 1e2: R_PPC_ADDR16_LO .rodata.str1.1+0x65 1e4: 7f c4 f3 78 mr r4,r30 1e8: 38 a0 f0 00 li r5,-4096 1ec: 48 00 00 01 bl 1ec <mem_init+0x78> 1ec: R_PPC_PLTREL24 printk 1f0: 3c 80 ff dd lis r4,-35 1f4: 3c 60 00 00 lis r3,0 1f6: R_PPC_ADDR16_HA .rodata.str1.1+0x87 1f8: 4c c6 31 82 crclr 4*cr1+eq 1fc: 60 9d f0 00 ori r29,r4,61440 200: 38 63 00 00 addi r3,r3,0 202: R_PPC_ADDR16_LO .rodata.str1.1+0x87 204: 7f a4 eb 78 mr r4,r29 208: 7f c5 f3 78 mr r5,r30 20c: 48 00 00 01 bl 20c <mem_init+0x98> 20c: R_PPC_PLTREL24 printk 210: 3f c0 00 00 lis r30,0 212: R_PPC_ADDR16_HA ioremap_bot 214: 3c 60 00 00 lis r3,0 216: R_PPC_ADDR16_HA .rodata.str1.1+0xb1 218: 4c c6 31 82 crclr 4*cr1+eq 21c: 80 9e 00 00 lwz r4,0(r30) 21e: R_PPC_ADDR16_LO ioremap_bot 220: 38 63 00 00 addi r3,r3,0 222: R_PPC_ADDR16_LO .rodata.str1.1+0xb1 224: 7f a5 eb 78 mr r5,r29 228: 48 00 00 01 bl 228 <mem_init+0xb4> 228: R_PPC_PLTREL24 printk 22c: 80 7c 00 00 lwz r3,0(r28) 22e: R_PPC_ADDR16_LO high_memory 230: 3c 80 01 00 lis r4,256 234: 4c c6 31 82 crclr 4*cr1+eq 238: 38 63 ff ff addi r3,r3,-1 23c: 80 be 00 00 lwz r5,0(r30) 23e: R_PPC_ADDR16_LO ioremap_bot 240: 3c 63 10 00 addis r3,r3,4096 244: 54 63 00 06 rlwinm r3,r3,0,0,3 248: 50 64 02 0c rlwimi r4,r3,0,8,6 24c: 3c 60 00 00 lis r3,0 24e: R_PPC_ADDR16_HA .rodata.str1.1+0xda 250: 38 63 00 00 addi r3,r3,0 252: R_PPC_ADDR16_LO .rodata.str1.1+0xda 254: 48 00 00 01 bl 254 <mem_init+0xe0> 254: R_PPC_PLTREL24 printk 258: 83 c1 00 18 lwz r30,24(r1) 25c: 83 a1 00 14 lwz r29,20(r1) 260: 83 81 00 10 lwz r28,16(r1) 264: 80 01 00 24 lwz r0,36(r1) 268: 38 21 00 20 addi r1,r1,32 26c: 7c 08 03 a6 mtlr r0 270: 4e 80 00 20 blr 00000274 <add_system_ram_resources>: 274: 7c 08 02 a6 mflr r0 278: 90 01 00 04 stw r0,4(r1) 27c: 94 21 ff c0 stwu r1,-64(r1) 280: 3c 60 00 00 lis r3,0 282: R_PPC_ADDR16_HA memblock 284: 93 a1 00 34 stw r29,52(r1) 288: 3b a3 00 00 addi r29,r3,0 28a: R_PPC_ADDR16_LO memblock 28c: 80 7d 00 10 lwz r3,16(r29) 290: 93 81 00 30 stw r28,48(r1) 294: 1c 63 00 18 mulli r3,r3,24 298: 83 9d 00 20 lwz r28,32(r29) 29c: 7c 7c 1a 14 add r3,r28,r3 2a0: 92 a1 00 14 stw r21,20(r1) 2a4: 7c 1c 18 40 cmplw r28,r3 2a8: 92 c1 00 18 stw r22,24(r1) 2ac: 92 e1 00 1c stw r23,28(r1) 2b0: 93 01 00 20 stw r24,32(r1) 2b4: 93 21 00 24 stw r25,36(r1) 2b8: 93 41 00 28 stw r26,40(r1) 2bc: 93 61 00 2c stw r27,44(r1) 2c0: 93 c1 00 38 stw r30,56(r1) 2c4: 40 80 00 ac bge 370 <add_system_ram_resources+0xfc> 2c8: 3c 60 00 00 lis r3,0 2ca: R_PPC_ADDR16_HA kmalloc_caches 2cc: 3c 80 00 00 lis r4,0 2ce: R_PPC_ADDR16_HA .rodata.str1.1+0x199 2d0: 3c a0 81 00 lis r5,-32512 2d4: 3c c0 00 00 lis r6,0 2d6: R_PPC_ADDR16_HA iomem_resource 2d8: 3b 7c ff e8 addi r27,r28,-24 2dc: 3b 40 00 00 li r26,0 2e0: 3b 23 00 00 addi r25,r3,0 2e2: R_PPC_ADDR16_LO kmalloc_caches 2e4: 3b 04 00 00 addi r24,r4,0 2e6: R_PPC_ADDR16_LO .rodata.str1.1+0x199 2e8: 60 b7 02 00 ori r23,r5,512 2ec: 3b c6 00 00 addi r30,r6,0 2ee: R_PPC_ADDR16_LO iomem_resource 2f0: 80 79 00 18 lwz r3,24(r25) 2f4: 38 80 0d c0 li r4,3520 2f8: 38 a0 00 28 li r5,40 2fc: 82 db 00 1c lwz r22,28(r27) 300: 82 bb 00 24 lwz r21,36(r27) 304: 48 00 00 01 bl 304 <add_system_ram_resources+0x90> 304: R_PPC_PLTREL24 kmem_cache_alloc_trace 308: 7c 64 1b 78 mr r4,r3 30c: 7c 63 00 34 cntlzw r3,r3 310: 28 04 00 00 cmplwi r4,0 314: 54 63 df fe rlwinm r3,r3,27,31,31 318: 0f 03 00 00 twnei r3,0 31c: 41 82 00 34 beq 350 <add_system_ram_resources+0xdc> 320: 7c 76 aa 14 add r3,r22,r21 324: 93 04 00 10 stw r24,16(r4) 328: 38 63 ff ff addi r3,r3,-1 32c: 90 64 00 0c stw r3,12(r4) 330: 7f c3 f3 78 mr r3,r30 334: 93 44 00 00 stw r26,0(r4) 338: 92 c4 00 04 stw r22,4(r4) 33c: 93 44 00 08 stw r26,8(r4) 340: 92 e4 00 14 stw r23,20(r4) 344: 48 00 00 01 bl 344 <add_system_ram_resources+0xd0> 344: R_PPC_PLTREL24 request_resource 348: 54 63 0f fe rlwinm r3,r3,1,31,31 34c: 0f 03 00 00 twnei r3,0 350: 80 7d 00 10 lwz r3,16(r29) 354: 3b 9c 00 18 addi r28,r28,24 358: 3b 7b 00 18 addi r27,r27,24 35c: 80 9d 00 20 lwz r4,32(r29) 360: 1c 63 00 18 mulli r3,r3,24 364: 7c 64 1a 14 add r3,r4,r3 368: 7c 1c 18 40 cmplw r28,r3 36c: 41 80 ff 84 blt 2f0 <add_system_ram_resources+0x7c> 370: 38 60 00 00 li r3,0 374: 83 c1 00 38 lwz r30,56(r1) 378: 83 a1 00 34 lwz r29,52(r1) 37c: 83 81 00 30 lwz r28,48(r1) 380: 83 61 00 2c lwz r27,44(r1) 384: 83 41 00 28 lwz r26,40(r1) 388: 83 21 00 24 lwz r25,36(r1) 38c: 83 01 00 20 lwz r24,32(r1) 390: 82 e1 00 1c lwz r23,28(r1) 394: 82 c1 00 18 lwz r22,24(r1) 398: 82 a1 00 14 lwz r21,20(r1) 39c: 80 01 00 44 lwz r0,68(r1) 3a0: 38 21 00 40 addi r1,r1,64 3a4: 7c 08 03 a6 mtlr r0 3a8: 4e 80 00 20 blr mem-broken.o: file format elf32-powerpc Disassembly of section .text: 00000000 <phys_mem_access_prot>: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff e0 stwu r1,-32(r1) c: 93 a1 00 14 stw r29,20(r1) 10: 7c fd 3b 78 mr r29,r7 14: 3c e0 00 00 lis r7,0 16: R_PPC_ADDR16_HA ppc_md 18: 38 e7 00 00 addi r7,r7,0 1a: R_PPC_ADDR16_LO ppc_md 1c: 81 07 00 a0 lwz r8,160(r7) 20: 93 c1 00 18 stw r30,24(r1) 24: 28 08 00 00 cmplwi r8,0 28: 7c 7e 1b 78 mr r30,r3 2c: 41 82 00 20 beq 4c <phys_mem_access_prot+0x4c> 30: 80 7d 00 00 lwz r3,0(r29) 34: 38 e1 00 08 addi r7,r1,8 38: 7d 09 03 a6 mtctr r8 3c: 90 61 00 08 stw r3,8(r1) 40: 7f c3 f3 78 mr r3,r30 44: 4e 80 04 21 bctrl 48: 48 00 00 28 b 70 <phys_mem_access_prot+0x70> 4c: 7c a3 2b 78 mr r3,r5 50: 48 00 00 01 bl 50 <phys_mem_access_prot+0x50> 50: R_PPC_PLTREL24 page_is_ram 54: 28 03 00 00 cmplwi r3,0 58: 80 7d 00 00 lwz r3,0(r29) 5c: 40 82 00 10 bne 6c <phys_mem_access_prot+0x6c> 60: 54 63 06 26 rlwinm r3,r3,0,24,19 64: 60 63 05 00 ori r3,r3,1280 68: 90 7d 00 00 stw r3,0(r29) 6c: 90 7e 00 00 stw r3,0(r30) 70: 83 c1 00 18 lwz r30,24(r1) 74: 83 a1 00 14 lwz r29,20(r1) 78: 80 01 00 24 lwz r0,36(r1) 7c: 38 21 00 20 addi r1,r1,32 80: 7c 08 03 a6 mtlr r0 84: 4e 80 00 20 blr 00000088 <free_initmem>: 88: 7c 08 02 a6 mflr r0 8c: 90 01 00 04 stw r0,4(r1) 90: 94 21 ff f0 stwu r1,-16(r1) 94: 3c 60 00 00 lis r3,0 96: R_PPC_ADDR16_HA ppc_md 98: 3c 80 00 00 lis r4,0 9a: R_PPC_ADDR16_HA ppc_printk_progress 9c: 38 63 00 00 addi r3,r3,0 9e: R_PPC_ADDR16_LO ppc_md a0: 38 84 00 00 addi r4,r4,0 a2: R_PPC_ADDR16_LO ppc_printk_progress a4: 90 83 00 60 stw r4,96(r3) a8: 48 00 00 01 bl a8 <free_initmem+0x20> a8: R_PPC_PLTREL24 mark_initmem_nx ac: 3c 60 00 00 lis r3,0 ae: R_PPC_ADDR16_HA init_mem_is_free b0: 38 80 00 01 li r4,1 b4: 98 83 00 00 stb r4,0(r3) b6: R_PPC_ADDR16_LO init_mem_is_free b8: 3c 60 00 00 lis r3,0 ba: R_PPC_ADDR16_HA __init_begin bc: 3c 80 00 00 lis r4,0 be: R_PPC_ADDR16_HA __init_end c0: 3c a0 00 00 lis r5,0 c2: R_PPC_ADDR16_HA .rodata.str1.1+0x107 c4: 38 63 00 00 addi r3,r3,0 c6: R_PPC_ADDR16_LO __init_begin c8: 38 84 00 00 addi r4,r4,0 ca: R_PPC_ADDR16_LO __init_end cc: 38 c5 00 00 addi r6,r5,0 ce: R_PPC_ADDR16_LO .rodata.str1.1+0x107 d0: 38 a0 00 cc li r5,204 d4: 48 00 00 01 bl d4 <free_initmem+0x4c> d4: R_PPC_PLTREL24 free_reserved_area d8: 80 01 00 14 lwz r0,20(r1) dc: 38 21 00 10 addi r1,r1,16 e0: 7c 08 03 a6 mtlr r0 e4: 4e 80 00 20 blr 000000e8 <flush_dcache_page>: e8: 80 83 00 00 lwz r4,0(r3) ec: 70 84 08 00 andi. r4,r4,2048 f0: 4d 82 00 20 beqlr f4: 38 80 08 00 li r4,2048 f8: 7c a0 18 28 lwarx r5,0,r3 fc: 7c a5 20 78 andc r5,r5,r4 100: 7c a0 19 2d stwcx. r5,0,r3 104: 40 a2 ff f4 bne f8 <flush_dcache_page+0x10> 108: 4e 80 00 20 blr 0000010c <flush_dcache_icache_page>: 10c: 7c 08 02 a6 mflr r0 110: 90 01 00 04 stw r0,4(r1) 114: 94 21 ff f0 stwu r1,-16(r1) 118: 80 82 00 00 lwz r4,0(r2) 11c: 38 84 00 01 addi r4,r4,1 120: 90 82 00 00 stw r4,0(r2) 124: 80 82 0a e4 lwz r4,2788(r2) 128: 38 84 00 01 addi r4,r4,1 12c: 90 82 0a e4 stw r4,2788(r2) 130: 3c 80 00 00 lis r4,0 132: R_PPC_ADDR16_HA mem_map 134: 80 84 00 00 lwz r4,0(r4) 136: R_PPC_ADDR16_LO mem_map 138: 7c 64 18 50 subf r3,r4,r3 13c: 3c 80 cc cc lis r4,-13108 140: 54 63 e8 fe rlwinm r3,r3,29,3,31 144: 60 84 d0 00 ori r4,r4,53248 148: 7c 63 21 d6 mullw r3,r3,r4 14c: 3c 63 c0 00 addis r3,r3,-16384 150: 48 00 00 01 bl 150 <flush_dcache_icache_page+0x44> 150: R_PPC_PLTREL24 __flush_dcache_icache 154: 80 62 0a e4 lwz r3,2788(r2) 158: 38 63 ff ff addi r3,r3,-1 15c: 90 62 0a e4 stw r3,2788(r2) 160: 80 62 00 00 lwz r3,0(r2) 164: 38 63 ff ff addi r3,r3,-1 168: 90 62 00 00 stw r3,0(r2) 16c: 80 01 00 14 lwz r0,20(r1) 170: 38 21 00 10 addi r1,r1,16 174: 7c 08 03 a6 mtlr r0 178: 4e 80 00 20 blr 0000017c <clear_user_page>: 17c: 94 21 ff f0 stwu r1,-16(r1) 180: 38 80 00 80 li r4,128 184: 38 63 ff e0 addi r3,r3,-32 188: 7c 89 03 a6 mtctr r4 18c: 38 81 00 0f addi r4,r1,15 190: 8c c3 00 20 lbzu r6,32(r3) 194: 98 c1 00 0f stb r6,15(r1) 198: 7c 00 27 ec dcbz 0,r4 19c: 42 00 ff f4 bdnz 190 <clear_user_page+0x14> 1a0: 80 65 00 00 lwz r3,0(r5) 1a4: 70 63 08 00 andi. r3,r3,2048 1a8: 41 82 00 18 beq 1c0 <clear_user_page+0x44> 1ac: 38 60 08 00 li r3,2048 1b0: 7c 80 28 28 lwarx r4,0,r5 1b4: 7c 84 18 78 andc r4,r4,r3 1b8: 7c 80 29 2d stwcx. r4,0,r5 1bc: 40 a2 ff f4 bne 1b0 <clear_user_page+0x34> 1c0: 38 21 00 10 addi r1,r1,16 1c4: 4e 80 00 20 blr 000001c8 <copy_user_page>: 1c8: 7c 08 02 a6 mflr r0 1cc: 90 01 00 04 stw r0,4(r1) 1d0: 94 21 ff f0 stwu r1,-16(r1) 1d4: 93 c1 00 08 stw r30,8(r1) 1d8: 7c de 33 78 mr r30,r6 1dc: 48 00 00 01 bl 1dc <copy_user_page+0x14> 1dc: R_PPC_PLTREL24 copy_page 1e0: 80 7e 00 00 lwz r3,0(r30) 1e4: 70 63 08 00 andi. r3,r3,2048 1e8: 41 82 00 18 beq 200 <copy_user_page+0x38> 1ec: 38 60 08 00 li r3,2048 1f0: 7c 80 f0 28 lwarx r4,0,r30 1f4: 7c 84 18 78 andc r4,r4,r3 1f8: 7c 80 f1 2d stwcx. r4,0,r30 1fc: 40 a2 ff f4 bne 1f0 <copy_user_page+0x28> 200: 83 c1 00 08 lwz r30,8(r1) 204: 80 01 00 14 lwz r0,20(r1) 208: 38 21 00 10 addi r1,r1,16 20c: 7c 08 03 a6 mtlr r0 210: 4e 80 00 20 blr 00000214 <flush_icache_user_range>: 214: 7c 08 02 a6 mflr r0 218: 90 01 00 04 stw r0,4(r1) 21c: 94 21 ff e0 stwu r1,-32(r1) 220: 3c 60 00 00 lis r3,0 222: R_PPC_ADDR16_HA .rodata.str1.1+0x115 224: 93 81 00 10 stw r28,16(r1) 228: 7c 9c 23 78 mr r28,r4 22c: 38 63 00 00 addi r3,r3,0 22e: R_PPC_ADDR16_LO .rodata.str1.1+0x115 230: 38 80 00 53 li r4,83 234: 93 a1 00 14 stw r29,20(r1) 238: 7c bd 2b 78 mr r29,r5 23c: 38 a0 00 00 li r5,0 240: 93 c1 00 18 stw r30,24(r1) 244: 7c de 33 78 mr r30,r6 248: 48 00 00 01 bl 248 <flush_icache_user_range+0x34> 248: R_PPC_PLTREL24 __might_sleep 24c: 3c 60 00 00 lis r3,0 24e: R_PPC_ADDR16_HA mem_map 250: 3c 80 cc cc lis r4,-13108 254: 80 63 00 00 lwz r3,0(r3) 256: R_PPC_ADDR16_LO mem_map 258: 60 84 d0 00 ori r4,r4,53248 25c: 7c 63 e0 50 subf r3,r3,r28 260: 54 63 e8 fe rlwinm r3,r3,29,3,31 264: 7c 63 21 d6 mullw r3,r3,r4 268: 57 a4 05 3e clrlwi r4,r29,20 26c: 50 64 00 26 rlwimi r4,r3,0,0,19 270: 3c 64 c0 00 addis r3,r4,-16384 274: 7c 83 f2 14 add r4,r3,r30 278: 48 00 00 01 bl 278 <flush_icache_user_range+0x64> 278: R_PPC_PLTREL24 flush_icache_range 27c: 83 c1 00 18 lwz r30,24(r1) 280: 83 a1 00 14 lwz r29,20(r1) 284: 83 81 00 10 lwz r28,16(r1) 288: 80 01 00 24 lwz r0,36(r1) 28c: 38 21 00 20 addi r1,r1,32 290: 7c 08 03 a6 mtlr r0 294: 4e 80 00 20 blr 00000298 <update_mmu_cache>: 298: 4e 80 00 20 blr 0000029c <devmem_is_allowed>: 29c: 7c 08 02 a6 mflr r0 2a0: 90 01 00 04 stw r0,4(r1) 2a4: 94 21 ff f0 stwu r1,-16(r1) 2a8: 93 c1 00 08 stw r30,8(r1) 2ac: 7c 7e 1b 78 mr r30,r3 2b0: 54 63 65 3e rlwinm r3,r3,12,20,31 2b4: 57 c4 60 26 rlwinm r4,r30,12,0,19 2b8: 48 00 00 01 bl 2b8 <devmem_is_allowed+0x1c> 2b8: R_PPC_PLTREL24 iomem_is_exclusive 2bc: 70 63 00 01 andi. r3,r3,1 2c0: 38 60 00 00 li r3,0 2c4: 41 81 00 14 bgt 2d8 <devmem_is_allowed+0x3c> 2c8: 7f c3 f3 78 mr r3,r30 2cc: 48 00 00 01 bl 2cc <devmem_is_allowed+0x30> 2cc: R_PPC_PLTREL24 page_is_ram 2d0: 7c 63 00 34 cntlzw r3,r3 2d4: 54 63 df fe rlwinm r3,r3,27,31,31 2d8: 83 c1 00 08 lwz r30,8(r1) 2dc: 80 01 00 14 lwz r0,20(r1) 2e0: 38 21 00 10 addi r1,r1,16 2e4: 7c 08 03 a6 mtlr r0 2e8: 4e 80 00 20 blr Disassembly of section .init.text: 00000000 <mem_topology_setup>: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff f0 stwu r1,-16(r1) c: 48 00 00 01 bl c <mem_topology_setup+0xc> c: R_PPC_PLTREL24 memblock_end_of_DRAM 10: 54 84 a0 3e rotlwi r4,r4,20 14: 3c a0 00 00 lis r5,0 16: R_PPC_ADDR16_HA max_pfn 18: 50 64 a0 16 rlwimi r4,r3,20,0,11 1c: 3c 60 00 00 lis r3,0 1e: R_PPC_ADDR16_HA max_low_pfn 20: 90 85 00 00 stw r4,0(r5) 22: R_PPC_ADDR16_LO max_pfn 24: 38 a0 ff ff li r5,-1 28: 90 83 00 00 stw r4,0(r3) 2a: R_PPC_ADDR16_LO max_low_pfn 2c: 3c 60 00 00 lis r3,0 2e: R_PPC_ADDR16_HA min_low_pfn 30: 38 80 00 00 li r4,0 34: 38 c0 ff ff li r6,-1 38: 39 00 00 00 li r8,0 3c: 90 83 00 00 stw r4,0(r3) 3e: R_PPC_ADDR16_LO min_low_pfn 40: 3c 60 00 00 lis r3,0 42: R_PPC_ADDR16_HA memblock 44: 38 80 00 00 li r4,0 48: 38 63 00 00 addi r3,r3,0 4a: R_PPC_ADDR16_LO memblock 4c: 38 e3 00 10 addi r7,r3,16 50: 38 60 00 00 li r3,0 54: 48 00 00 01 bl 54 <mem_topology_setup+0x54> 54: R_PPC_PLTREL24 memblock_set_node 58: 80 01 00 14 lwz r0,20(r1) 5c: 38 21 00 10 addi r1,r1,16 60: 7c 08 03 a6 mtlr r0 64: 4e 80 00 20 blr 00000068 <initmem_init>: 68: 7c 08 02 a6 mflr r0 6c: 90 01 00 04 stw r0,4(r1) 70: 94 21 ff f0 stwu r1,-16(r1) 74: 38 60 00 00 li r3,0 78: 48 00 00 01 bl 78 <initmem_init+0x10> 78: R_PPC_PLTREL24 sparse_memory_present_with_active_regions 7c: 80 01 00 14 lwz r0,20(r1) 80: 38 21 00 10 addi r1,r1,16 84: 7c 08 03 a6 mtlr r0 88: 4e 80 00 20 blr 0000008c <paging_init>: 8c: 7c 08 02 a6 mflr r0 90: 90 01 00 04 stw r0,4(r1) 94: 94 21 ff d0 stwu r1,-48(r1) 98: 93 21 00 14 stw r25,20(r1) 9c: 93 41 00 18 stw r26,24(r1) a0: 93 61 00 1c stw r27,28(r1) a4: 93 81 00 20 stw r28,32(r1) a8: 93 a1 00 24 stw r29,36(r1) ac: 93 c1 00 28 stw r30,40(r1) b0: 48 00 00 01 bl b0 <paging_init+0x24> b0: R_PPC_PLTREL24 memblock_phys_mem_size b4: 7c 7e 1b 78 mr r30,r3 b8: 7c 9d 23 78 mr r29,r4 bc: 3f 40 ff fe lis r26,-2 c0: 48 00 00 01 bl c0 <paging_init+0x34> c0: R_PPC_PLTREL24 memblock_end_of_DRAM c4: 7c 7c 1b 78 mr r28,r3 c8: 7c 9b 23 78 mr r27,r4 cc: 3b 20 00 00 li r25,0 d0: 38 e1 00 08 addi r7,r1,8 d4: 7f 43 d3 78 mr r3,r26 d8: 93 21 00 10 stw r25,16(r1) dc: 38 a0 00 00 li r5,0 e0: 38 c0 00 00 li r6,0 e4: 93 21 00 08 stw r25,8(r1) e8: 48 00 00 01 bl e8 <paging_init+0x5c> e8: R_PPC_PLTREL24 map_kernel_page ec: 3b 5a 10 00 addi r26,r26,4096 f0: 2c 1a f0 00 cmpwi r26,-4096 f4: 40 82 ff dc bne d0 <paging_init+0x44> f8: 3c 60 00 00 lis r3,0 fa: R_PPC_ADDR16_HA .rodata.str1.1 fc: 4c c6 31 82 crclr 4*cr1+eq 100: 7f 85 e3 78 mr r5,r28 104: 38 63 00 00 addi r3,r3,0 106: R_PPC_ADDR16_LO .rodata.str1.1 108: 7f 66 db 78 mr r6,r27 10c: 7f c7 f3 78 mr r7,r30 110: 7f a8 eb 78 mr r8,r29 114: 48 00 00 01 bl 114 <paging_init+0x88> 114: R_PPC_PLTREL24 printk 118: 7c 7d d8 10 subfc r3,r29,r27 11c: 4c c6 31 82 crclr 4*cr1+eq 120: 7c be e1 10 subfe r5,r30,r28 124: 54 64 60 3e rotlwi r4,r3,12 128: 3c 60 00 00 lis r3,0 12a: R_PPC_ADDR16_HA .rodata.str1.1+0x29 12c: 50 a4 60 26 rlwimi r4,r5,12,0,19 130: 38 63 00 00 addi r3,r3,0 132: R_PPC_ADDR16_LO .rodata.str1.1+0x29 134: 48 00 00 01 bl 134 <paging_init+0xa8> 134: R_PPC_PLTREL24 printk 138: 3c 60 00 00 lis r3,0 13a: R_PPC_ADDR16_HA max_low_pfn 13c: 80 83 00 00 lwz r4,0(r3) 13e: R_PPC_ADDR16_LO max_low_pfn 140: 3c 60 00 00 lis r3,0 142: R_PPC_ADDR16_HA .bss+0x10 144: 94 83 00 00 stwu r4,0(r3) 146: R_PPC_ADDR16_LO .bss+0x10 148: 48 00 00 01 bl 148 <paging_init+0xbc> 148: R_PPC_PLTREL24 free_area_init_nodes 14c: 83 c1 00 28 lwz r30,40(r1) 150: 83 a1 00 24 lwz r29,36(r1) 154: 83 81 00 20 lwz r28,32(r1) 158: 83 61 00 1c lwz r27,28(r1) 15c: 83 41 00 18 lwz r26,24(r1) 160: 83 21 00 14 lwz r25,20(r1) 164: 80 01 00 34 lwz r0,52(r1) 168: 38 21 00 30 addi r1,r1,48 16c: 7c 08 03 a6 mtlr r0 170: 4e 80 00 20 blr 00000174 <mem_init>: 174: 7c 08 02 a6 mflr r0 178: 90 01 00 04 stw r0,4(r1) 17c: 94 21 ff e0 stwu r1,-32(r1) 180: 3c 60 00 00 lis r3,0 182: R_PPC_ADDR16_HA max_low_pfn 184: 3c 80 00 00 lis r4,0 186: R_PPC_ADDR16_HA max_pfn 188: 93 81 00 10 stw r28,16(r1) 18c: 3f 80 00 00 lis r28,0 18e: R_PPC_ADDR16_HA high_memory 190: 80 63 00 00 lwz r3,0(r3) 192: R_PPC_ADDR16_LO max_low_pfn 194: 80 84 00 00 lwz r4,0(r4) 196: R_PPC_ADDR16_LO max_pfn 198: 54 63 60 26 rlwinm r3,r3,12,0,19 19c: 3c 63 c0 00 addis r3,r3,-16384 1a0: 90 7c 00 00 stw r3,0(r28) 1a2: R_PPC_ADDR16_LO high_memory 1a4: 3c 60 00 00 lis r3,0 1a6: R_PPC_ADDR16_HA max_mapnr 1a8: 93 a1 00 14 stw r29,20(r1) 1ac: 93 c1 00 18 stw r30,24(r1) 1b0: 90 83 00 00 stw r4,0(r3) 1b2: R_PPC_ADDR16_LO max_mapnr 1b4: 48 00 00 01 bl 1b4 <mem_init+0x40> 1b4: R_PPC_PLTREL24 memblock_free_all 1b8: 38 60 00 00 li r3,0 1bc: 48 00 00 01 bl 1bc <mem_init+0x48> 1bc: R_PPC_PLTREL24 mem_init_print_info 1c0: 3c 60 00 00 lis r3,0 1c2: R_PPC_ADDR16_HA .rodata.str1.1+0x44 1c4: 4c c6 31 82 crclr 4*cr1+eq 1c8: 38 63 00 00 addi r3,r3,0 1ca: R_PPC_ADDR16_LO .rodata.str1.1+0x44 1cc: 48 00 00 01 bl 1cc <mem_init+0x58> 1cc: R_PPC_PLTREL24 printk 1d0: 3c 80 ff fd lis r4,-3 1d4: 3c 60 00 00 lis r3,0 1d6: R_PPC_ADDR16_HA .rodata.str1.1+0x65 1d8: 4c c6 31 82 crclr 4*cr1+eq 1dc: 60 9e f0 00 ori r30,r4,61440 1e0: 38 63 00 00 addi r3,r3,0 1e2: R_PPC_ADDR16_LO .rodata.str1.1+0x65 1e4: 7f c4 f3 78 mr r4,r30 1e8: 38 a0 f0 00 li r5,-4096 1ec: 48 00 00 01 bl 1ec <mem_init+0x78> 1ec: R_PPC_PLTREL24 printk 1f0: 3c 80 ff dd lis r4,-35 1f4: 3c 60 00 00 lis r3,0 1f6: R_PPC_ADDR16_HA .rodata.str1.1+0x87 1f8: 4c c6 31 82 crclr 4*cr1+eq 1fc: 60 9d f0 00 ori r29,r4,61440 200: 38 63 00 00 addi r3,r3,0 202: R_PPC_ADDR16_LO .rodata.str1.1+0x87 204: 7f a4 eb 78 mr r4,r29 208: 7f c5 f3 78 mr r5,r30 20c: 48 00 00 01 bl 20c <mem_init+0x98> 20c: R_PPC_PLTREL24 printk 210: 3f c0 00 00 lis r30,0 212: R_PPC_ADDR16_HA ioremap_bot 214: 3c 60 00 00 lis r3,0 216: R_PPC_ADDR16_HA .rodata.str1.1+0xb1 218: 4c c6 31 82 crclr 4*cr1+eq 21c: 80 9e 00 00 lwz r4,0(r30) 21e: R_PPC_ADDR16_LO ioremap_bot 220: 38 63 00 00 addi r3,r3,0 222: R_PPC_ADDR16_LO .rodata.str1.1+0xb1 224: 7f a5 eb 78 mr r5,r29 228: 48 00 00 01 bl 228 <mem_init+0xb4> 228: R_PPC_PLTREL24 printk 22c: 80 7c 00 00 lwz r3,0(r28) 22e: R_PPC_ADDR16_LO high_memory 230: 3c 80 01 00 lis r4,256 234: 4c c6 31 82 crclr 4*cr1+eq 238: 38 63 ff ff addi r3,r3,-1 23c: 80 be 00 00 lwz r5,0(r30) 23e: R_PPC_ADDR16_LO ioremap_bot 240: 3c 63 10 00 addis r3,r3,4096 244: 54 63 00 06 rlwinm r3,r3,0,0,3 248: 50 64 02 0c rlwimi r4,r3,0,8,6 24c: 3c 60 00 00 lis r3,0 24e: R_PPC_ADDR16_HA .rodata.str1.1+0xda 250: 38 63 00 00 addi r3,r3,0 252: R_PPC_ADDR16_LO .rodata.str1.1+0xda 254: 48 00 00 01 bl 254 <mem_init+0xe0> 254: R_PPC_PLTREL24 printk 258: 83 c1 00 18 lwz r30,24(r1) 25c: 83 a1 00 14 lwz r29,20(r1) 260: 83 81 00 10 lwz r28,16(r1) 264: 80 01 00 24 lwz r0,36(r1) 268: 38 21 00 20 addi r1,r1,32 26c: 7c 08 03 a6 mtlr r0 270: 4e 80 00 20 blr 00000274 <add_system_ram_resources>: 274: 7c 08 02 a6 mflr r0 278: 90 01 00 04 stw r0,4(r1) 27c: 94 21 ff c0 stwu r1,-64(r1) 280: 3c 60 00 00 lis r3,0 282: R_PPC_ADDR16_HA memblock 284: 93 a1 00 34 stw r29,52(r1) 288: 3b a3 00 00 addi r29,r3,0 28a: R_PPC_ADDR16_LO memblock 28c: 80 7d 00 10 lwz r3,16(r29) 290: 93 81 00 30 stw r28,48(r1) 294: 1c 63 00 18 mulli r3,r3,24 298: 83 9d 00 20 lwz r28,32(r29) 29c: 7c 7c 1a 14 add r3,r28,r3 2a0: 92 a1 00 14 stw r21,20(r1) 2a4: 7c 1c 18 40 cmplw r28,r3 2a8: 92 c1 00 18 stw r22,24(r1) 2ac: 92 e1 00 1c stw r23,28(r1) 2b0: 93 01 00 20 stw r24,32(r1) 2b4: 93 21 00 24 stw r25,36(r1) 2b8: 93 41 00 28 stw r26,40(r1) 2bc: 93 61 00 2c stw r27,44(r1) 2c0: 93 c1 00 38 stw r30,56(r1) 2c4: 40 80 00 ac bge 370 <add_system_ram_resources+0xfc> 2c8: 3c 60 00 00 lis r3,0 2ca: R_PPC_ADDR16_HA kmalloc_caches 2cc: 3c 80 00 00 lis r4,0 2ce: R_PPC_ADDR16_HA .rodata.str1.1+0x199 2d0: 3c a0 81 00 lis r5,-32512 2d4: 3c c0 00 00 lis r6,0 2d6: R_PPC_ADDR16_HA iomem_resource 2d8: 3b 7c ff e8 addi r27,r28,-24 2dc: 3b 40 00 00 li r26,0 2e0: 3b 23 00 00 addi r25,r3,0 2e2: R_PPC_ADDR16_LO kmalloc_caches 2e4: 3b 04 00 00 addi r24,r4,0 2e6: R_PPC_ADDR16_LO .rodata.str1.1+0x199 2e8: 60 b7 02 00 ori r23,r5,512 2ec: 3b c6 00 00 addi r30,r6,0 2ee: R_PPC_ADDR16_LO iomem_resource 2f0: 80 79 00 18 lwz r3,24(r25) 2f4: 38 80 0d c0 li r4,3520 2f8: 38 a0 00 28 li r5,40 2fc: 82 db 00 1c lwz r22,28(r27) 300: 82 bb 00 24 lwz r21,36(r27) 304: 48 00 00 01 bl 304 <add_system_ram_resources+0x90> 304: R_PPC_PLTREL24 kmem_cache_alloc_trace 308: 7c 64 1b 78 mr r4,r3 30c: 7c 63 00 34 cntlzw r3,r3 310: 28 04 00 00 cmplwi r4,0 314: 54 63 df fe rlwinm r3,r3,27,31,31 318: 0f 03 00 00 twnei r3,0 31c: 41 82 00 34 beq 350 <add_system_ram_resources+0xdc> 320: 7c 76 aa 14 add r3,r22,r21 324: 93 04 00 10 stw r24,16(r4) 328: 38 63 ff ff addi r3,r3,-1 32c: 90 64 00 0c stw r3,12(r4) 330: 7f c3 f3 78 mr r3,r30 334: 93 44 00 00 stw r26,0(r4) 338: 92 c4 00 04 stw r22,4(r4) 33c: 93 44 00 08 stw r26,8(r4) 340: 92 e4 00 14 stw r23,20(r4) 344: 48 00 00 01 bl 344 <add_system_ram_resources+0xd0> 344: R_PPC_PLTREL24 request_resource 348: 54 63 0f fe rlwinm r3,r3,1,31,31 34c: 0f 03 00 00 twnei r3,0 350: 80 7d 00 10 lwz r3,16(r29) 354: 3b 9c 00 18 addi r28,r28,24 358: 3b 7b 00 18 addi r27,r27,24 35c: 80 9d 00 20 lwz r4,32(r29) 360: 1c 63 00 18 mulli r3,r3,24 364: 7c 64 1a 14 add r3,r4,r3 368: 7c 1c 18 40 cmplw r28,r3 36c: 41 80 ff 84 blt 2f0 <add_system_ram_resources+0x7c> 370: 38 60 00 00 li r3,0 374: 83 c1 00 38 lwz r30,56(r1) 378: 83 a1 00 34 lwz r29,52(r1) 37c: 83 81 00 30 lwz r28,48(r1) 380: 83 61 00 2c lwz r27,44(r1) 384: 83 41 00 28 lwz r26,40(r1) 388: 83 21 00 24 lwz r25,36(r1) 38c: 83 01 00 20 lwz r24,32(r1) 390: 82 e1 00 1c lwz r23,28(r1) 394: 82 c1 00 18 lwz r22,24(r1) 398: 82 a1 00 14 lwz r21,20(r1) 39c: 80 01 00 44 lwz r0,68(r1) 3a0: 38 21 00 40 addi r1,r1,64 3a4: 7c 08 03 a6 mtlr r0 3a8: 4e 80 00 20 blr mem-working.o: file format elf32-powerpc | mem-broken.o: file format elf32-powerpc Disassembly of section .text: Disassembly of section .text: 00000000 <phys_mem_access_prot>: 00000000 <phys_mem_access_prot>: 0: 7c 08 02 a6 mflr r0 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff e0 stwu r1,-32(r1) 8: 94 21 ff e0 stwu r1,-32(r1) c: 93 a1 00 14 stw r29,20(r1) c: 93 a1 00 14 stw r29,20(r1) 10: 7c fd 3b 78 mr r29,r7 10: 7c fd 3b 78 mr r29,r7 14: 3c e0 00 00 lis r7,0 14: 3c e0 00 00 lis r7,0 16: R_PPC_ADDR16_HA ppc_md 16: R_PPC_ADDR16_HA ppc_md 18: 38 e7 00 00 addi r7,r7,0 18: 38 e7 00 00 addi r7,r7,0 1a: R_PPC_ADDR16_LO ppc_md 1a: R_PPC_ADDR16_LO ppc_md 1c: 81 07 00 a0 lwz r8,160(r7) 1c: 81 07 00 a0 lwz r8,160(r7) 20: 93 c1 00 18 stw r30,24(r1) 20: 93 c1 00 18 stw r30,24(r1) 24: 28 08 00 00 cmplwi r8,0 24: 28 08 00 00 cmplwi r8,0 28: 7c 7e 1b 78 mr r30,r3 28: 7c 7e 1b 78 mr r30,r3 2c: 41 82 00 20 beq 4c <phys_mem_access_prot+0x4c 2c: 41 82 00 20 beq 4c <phys_mem_access_prot+0x4c 30: 80 7d 00 00 lwz r3,0(r29) 30: 80 7d 00 00 lwz r3,0(r29) 34: 38 e1 00 08 addi r7,r1,8 34: 38 e1 00 08 addi r7,r1,8 38: 7d 09 03 a6 mtctr r8 38: 7d 09 03 a6 mtctr r8 3c: 90 61 00 08 stw r3,8(r1) 3c: 90 61 00 08 stw r3,8(r1) 40: 7f c3 f3 78 mr r3,r30 40: 7f c3 f3 78 mr r3,r30 44: 4e 80 04 21 bctrl 44: 4e 80 04 21 bctrl 48: 48 00 00 28 b 70 <phys_mem_access_prot+0x70 48: 48 00 00 28 b 70 <phys_mem_access_prot+0x70 4c: 7c a3 2b 78 mr r3,r5 4c: 7c a3 2b 78 mr r3,r5 50: 48 00 00 01 bl 50 <phys_mem_access_prot+0x50 50: 48 00 00 01 bl 50 <phys_mem_access_prot+0x50 50: R_PPC_PLTREL24 page_is_ram 50: R_PPC_PLTREL24 page_is_ram 54: 28 03 00 00 cmplwi r3,0 54: 28 03 00 00 cmplwi r3,0 58: 80 7d 00 00 lwz r3,0(r29) 58: 80 7d 00 00 lwz r3,0(r29) 5c: 40 82 00 10 bne 6c <phys_mem_access_prot+0x6c 5c: 40 82 00 10 bne 6c <phys_mem_access_prot+0x6c 60: 54 63 06 26 rlwinm r3,r3,0,24,19 60: 54 63 06 26 rlwinm r3,r3,0,24,19 64: 60 63 05 00 ori r3,r3,1280 64: 60 63 05 00 ori r3,r3,1280 68: 90 7d 00 00 stw r3,0(r29) 68: 90 7d 00 00 stw r3,0(r29) 6c: 90 7e 00 00 stw r3,0(r30) 6c: 90 7e 00 00 stw r3,0(r30) 70: 83 c1 00 18 lwz r30,24(r1) 70: 83 c1 00 18 lwz r30,24(r1) 74: 83 a1 00 14 lwz r29,20(r1) 74: 83 a1 00 14 lwz r29,20(r1) 78: 80 01 00 24 lwz r0,36(r1) 78: 80 01 00 24 lwz r0,36(r1) 7c: 38 21 00 20 addi r1,r1,32 7c: 38 21 00 20 addi r1,r1,32 80: 7c 08 03 a6 mtlr r0 80: 7c 08 03 a6 mtlr r0 84: 4e 80 00 20 blr 84: 4e 80 00 20 blr 00000088 <free_initmem>: 00000088 <free_initmem>: 88: 7c 08 02 a6 mflr r0 88: 7c 08 02 a6 mflr r0 8c: 90 01 00 04 stw r0,4(r1) 8c: 90 01 00 04 stw r0,4(r1) 90: 94 21 ff f0 stwu r1,-16(r1) 90: 94 21 ff f0 stwu r1,-16(r1) 94: 3c 60 00 00 lis r3,0 94: 3c 60 00 00 lis r3,0 96: R_PPC_ADDR16_HA ppc_md 96: R_PPC_ADDR16_HA ppc_md 98: 3c 80 00 00 lis r4,0 98: 3c 80 00 00 lis r4,0 9a: R_PPC_ADDR16_HA ppc_printk_pr 9a: R_PPC_ADDR16_HA ppc_printk_pr 9c: 38 63 00 00 addi r3,r3,0 9c: 38 63 00 00 addi r3,r3,0 9e: R_PPC_ADDR16_LO ppc_md 9e: R_PPC_ADDR16_LO ppc_md a0: 38 84 00 00 addi r4,r4,0 a0: 38 84 00 00 addi r4,r4,0 a2: R_PPC_ADDR16_LO ppc_printk_pr a2: R_PPC_ADDR16_LO ppc_printk_pr a4: 90 83 00 60 stw r4,96(r3) a4: 90 83 00 60 stw r4,96(r3) a8: 48 00 00 01 bl a8 <free_initmem+0x20> a8: 48 00 00 01 bl a8 <free_initmem+0x20> a8: R_PPC_PLTREL24 mark_initmem_ a8: R_PPC_PLTREL24 mark_initmem_ ac: 3c 60 00 00 lis r3,0 ac: 3c 60 00 00 lis r3,0 ae: R_PPC_ADDR16_HA init_mem_is_f ae: R_PPC_ADDR16_HA init_mem_is_f b0: 38 80 00 01 li r4,1 b0: 38 80 00 01 li r4,1 b4: 98 83 00 00 stb r4,0(r3) b4: 98 83 00 00 stb r4,0(r3) b6: R_PPC_ADDR16_LO init_mem_is_f b6: R_PPC_ADDR16_LO init_mem_is_f b8: 3c 60 00 00 lis r3,0 b8: 3c 60 00 00 lis r3,0 ba: R_PPC_ADDR16_HA __init_begin ba: R_PPC_ADDR16_HA __init_begin bc: 3c 80 00 00 lis r4,0 bc: 3c 80 00 00 lis r4,0 be: R_PPC_ADDR16_HA __init_end be: R_PPC_ADDR16_HA __init_end c0: 3c a0 00 00 lis r5,0 c0: 3c a0 00 00 lis r5,0 c2: R_PPC_ADDR16_HA .rodata.str1. c2: R_PPC_ADDR16_HA .rodata.str1. c4: 38 63 00 00 addi r3,r3,0 c4: 38 63 00 00 addi r3,r3,0 c6: R_PPC_ADDR16_LO __init_begin c6: R_PPC_ADDR16_LO __init_begin c8: 38 84 00 00 addi r4,r4,0 c8: 38 84 00 00 addi r4,r4,0 ca: R_PPC_ADDR16_LO __init_end ca: R_PPC_ADDR16_LO __init_end cc: 38 c5 00 00 addi r6,r5,0 cc: 38 c5 00 00 addi r6,r5,0 ce: R_PPC_ADDR16_LO .rodata.str1. ce: R_PPC_ADDR16_LO .rodata.str1. d0: 38 a0 00 cc li r5,204 d0: 38 a0 00 cc li r5,204 d4: 48 00 00 01 bl d4 <free_initmem+0x4c> d4: 48 00 00 01 bl d4 <free_initmem+0x4c> d4: R_PPC_PLTREL24 free_reserved d4: R_PPC_PLTREL24 free_reserved d8: 80 01 00 14 lwz r0,20(r1) d8: 80 01 00 14 lwz r0,20(r1) dc: 38 21 00 10 addi r1,r1,16 dc: 38 21 00 10 addi r1,r1,16 e0: 7c 08 03 a6 mtlr r0 e0: 7c 08 03 a6 mtlr r0 e4: 4e 80 00 20 blr e4: 4e 80 00 20 blr 000000e8 <flush_dcache_page>: 000000e8 <flush_dcache_page>: e8: 80 83 00 00 lwz r4,0(r3) e8: 80 83 00 00 lwz r4,0(r3) ec: 70 84 08 00 andi. r4,r4,2048 ec: 70 84 08 00 andi. r4,r4,2048 f0: 4d 82 00 20 beqlr f0: 4d 82 00 20 beqlr f4: 38 80 08 00 li r4,2048 f4: 38 80 08 00 li r4,2048 f8: 7c a0 18 28 lwarx r5,0,r3 f8: 7c a0 18 28 lwarx r5,0,r3 fc: 7c a5 20 78 andc r5,r5,r4 fc: 7c a5 20 78 andc r5,r5,r4 100: 7c a0 19 2d stwcx. r5,0,r3 100: 7c a0 19 2d stwcx. r5,0,r3 104: 40 a2 ff f4 bne f8 <flush_dcache_page+0x10> 104: 40 a2 ff f4 bne f8 <flush_dcache_page+0x10> 108: 4e 80 00 20 blr 108: 4e 80 00 20 blr 0000010c <flush_dcache_icache_page>: 0000010c <flush_dcache_icache_page>: 10c: 7c 08 02 a6 mflr r0 10c: 7c 08 02 a6 mflr r0 110: 90 01 00 04 stw r0,4(r1) 110: 90 01 00 04 stw r0,4(r1) 114: 94 21 ff f0 stwu r1,-16(r1) 114: 94 21 ff f0 stwu r1,-16(r1) 118: 80 82 00 00 lwz r4,0(r2) 118: 80 82 00 00 lwz r4,0(r2) 11c: 38 84 00 01 addi r4,r4,1 11c: 38 84 00 01 addi r4,r4,1 120: 90 82 00 00 stw r4,0(r2) 120: 90 82 00 00 stw r4,0(r2) 124: 80 82 0a e4 lwz r4,2788(r2) 124: 80 82 0a e4 lwz r4,2788(r2) 128: 38 84 00 01 addi r4,r4,1 128: 38 84 00 01 addi r4,r4,1 12c: 90 82 0a e4 stw r4,2788(r2) 12c: 90 82 0a e4 stw r4,2788(r2) 130: 3c 80 00 00 lis r4,0 130: 3c 80 00 00 lis r4,0 132: R_PPC_ADDR16_HA mem_map 132: R_PPC_ADDR16_HA mem_map 134: 80 84 00 00 lwz r4,0(r4) 134: 80 84 00 00 lwz r4,0(r4) 136: R_PPC_ADDR16_LO mem_map 136: R_PPC_ADDR16_LO mem_map 138: 7c 64 18 50 subf r3,r4,r3 138: 7c 64 18 50 subf r3,r4,r3 13c: 3c 80 cc cc lis r4,-13108 13c: 3c 80 cc cc lis r4,-13108 140: 54 63 e8 fe rlwinm r3,r3,29,3,31 140: 54 63 e8 fe rlwinm r3,r3,29,3,31 144: 60 84 d0 00 ori r4,r4,53248 144: 60 84 d0 00 ori r4,r4,53248 148: 7c 63 21 d6 mullw r3,r3,r4 148: 7c 63 21 d6 mullw r3,r3,r4 14c: 3c 63 c0 00 addis r3,r3,-16384 14c: 3c 63 c0 00 addis r3,r3,-16384 150: 48 00 00 01 bl 150 <flush_dcache_icache_page 150: 48 00 00 01 bl 150 <flush_dcache_icache_page 150: R_PPC_PLTREL24 __flush_dcach 150: R_PPC_PLTREL24 __flush_dcach 154: 80 62 0a e4 lwz r3,2788(r2) 154: 80 62 0a e4 lwz r3,2788(r2) 158: 38 63 ff ff addi r3,r3,-1 158: 38 63 ff ff addi r3,r3,-1 15c: 90 62 0a e4 stw r3,2788(r2) 15c: 90 62 0a e4 stw r3,2788(r2) 160: 80 62 00 00 lwz r3,0(r2) 160: 80 62 00 00 lwz r3,0(r2) 164: 38 63 ff ff addi r3,r3,-1 164: 38 63 ff ff addi r3,r3,-1 168: 90 62 00 00 stw r3,0(r2) 168: 90 62 00 00 stw r3,0(r2) 16c: 80 01 00 14 lwz r0,20(r1) 16c: 80 01 00 14 lwz r0,20(r1) 170: 38 21 00 10 addi r1,r1,16 170: 38 21 00 10 addi r1,r1,16 174: 7c 08 03 a6 mtlr r0 174: 7c 08 03 a6 mtlr r0 178: 4e 80 00 20 blr 178: 4e 80 00 20 blr 0000017c <clear_user_page>: 0000017c <clear_user_page>: 17c: 38 80 00 80 li r4,128 | 17c: 94 21 ff f0 stwu r1,-16(r1) 180: 7c 89 03 a6 mtctr r4 | 180: 38 80 00 80 li r4,128 184: 7c 00 1f ec dcbz 0,r3 | 184: 38 63 ff e0 addi r3,r3,-32 188: 38 63 00 20 addi r3,r3,32 | 188: 7c 89 03 a6 mtctr r4 18c: 42 00 ff f8 bdnz 184 <clear_user_page+0x8> | 18c: 38 81 00 0f addi r4,r1,15 190: 80 65 00 00 lwz r3,0(r5) | 190: 8c c3 00 20 lbzu r6,32(r3) 194: 70 63 08 00 andi. r3,r3,2048 | 194: 98 c1 00 0f stb r6,15(r1) 198: 4d 82 00 20 beqlr | 198: 7c 00 27 ec dcbz 0,r4 19c: 38 60 08 00 li r3,2048 | 19c: 42 00 ff f4 bdnz 190 <clear_user_page+0x14> 1a0: 7c 80 28 28 lwarx r4,0,r5 | 1a0: 80 65 00 00 lwz r3,0(r5) 1a4: 7c 84 18 78 andc r4,r4,r3 | 1a4: 70 63 08 00 andi. r3,r3,2048 1a8: 7c 80 29 2d stwcx. r4,0,r5 | 1a8: 41 82 00 18 beq 1c0 <clear_user_page+0x44> 1ac: 40 a2 ff f4 bne 1a0 <clear_user_page+0x24> | 1ac: 38 60 08 00 li r3,2048 1b0: 4e 80 00 20 blr | 1b0: 7c 80 28 28 lwarx r4,0,r5 | 1b4: 7c 84 18 78 andc r4,r4,r3 000001b4 <copy_user_page>: | 1b8: 7c 80 29 2d stwcx. r4,0,r5 1b4: 7c 08 02 a6 mflr r0 | 1bc: 40 a2 ff f4 bne 1b0 <clear_user_page+0x34> 1b8: 90 01 00 04 stw r0,4(r1) | 1c0: 38 21 00 10 addi r1,r1,16 1bc: 94 21 ff f0 stwu r1,-16(r1) | 1c4: 4e 80 00 20 blr 1c0: 93 c1 00 08 stw r30,8(r1) | 1c4: 7c de 33 78 mr r30,r6 | 000001c8 <copy_user_page>: 1c8: 48 00 00 01 bl 1c8 <copy_user_page+0x14> | 1c8: 7c 08 02 a6 mflr r0 1c8: R_PPC_PLTREL24 copy_page | 1cc: 90 01 00 04 stw r0,4(r1) 1cc: 80 7e 00 00 lwz r3,0(r30) | 1d0: 94 21 ff f0 stwu r1,-16(r1) 1d0: 70 63 08 00 andi. r3,r3,2048 | 1d4: 93 c1 00 08 stw r30,8(r1) 1d4: 41 82 00 18 beq 1ec <copy_user_page+0x38> | 1d8: 7c de 33 78 mr r30,r6 1d8: 38 60 08 00 li r3,2048 | 1dc: 48 00 00 01 bl 1dc <copy_user_page+0x14> 1dc: 7c 80 f0 28 lwarx r4,0,r30 | 1dc: R_PPC_PLTREL24 copy_page 1e0: 7c 84 18 78 andc r4,r4,r3 | 1e0: 80 7e 00 00 lwz r3,0(r30) 1e4: 7c 80 f1 2d stwcx. r4,0,r30 | 1e4: 70 63 08 00 andi. r3,r3,2048 1e8: 40 a2 ff f4 bne 1dc <copy_user_page+0x28> | 1e8: 41 82 00 18 beq 200 <copy_user_page+0x38> 1ec: 83 c1 00 08 lwz r30,8(r1) | 1ec: 38 60 08 00 li r3,2048 1f0: 80 01 00 14 lwz r0,20(r1) | 1f0: 7c 80 f0 28 lwarx r4,0,r30 1f4: 38 21 00 10 addi r1,r1,16 | 1f4: 7c 84 18 78 andc r4,r4,r3 1f8: 7c 08 03 a6 mtlr r0 | 1f8: 7c 80 f1 2d stwcx. r4,0,r30 1fc: 4e 80 00 20 blr | 1fc: 40 a2 ff f4 bne 1f0 <copy_user_page+0x28> | 200: 83 c1 00 08 lwz r30,8(r1) 00000200 <flush_icache_user_range>: | 204: 80 01 00 14 lwz r0,20(r1) 200: 7c 08 02 a6 mflr r0 | 208: 38 21 00 10 addi r1,r1,16 204: 90 01 00 04 stw r0,4(r1) | 20c: 7c 08 03 a6 mtlr r0 208: 94 21 ff e0 stwu r1,-32(r1) | 210: 4e 80 00 20 blr 20c: 3c 60 00 00 lis r3,0 | 20e: R_PPC_ADDR16_HA .rodata.str1. | 00000214 <flush_icache_user_range>: 210: 93 81 00 10 stw r28,16(r1) | 214: 7c 08 02 a6 mflr r0 214: 7c 9c 23 78 mr r28,r4 | 218: 90 01 00 04 stw r0,4(r1) 218: 38 63 00 00 addi r3,r3,0 | 21c: 94 21 ff e0 stwu r1,-32(r1) 21a: R_PPC_ADDR16_LO .rodata.str1. | 220: 3c 60 00 00 lis r3,0 21c: 38 80 00 53 li r4,83 | 222: R_PPC_ADDR16_HA .rodata.str1. 220: 93 a1 00 14 stw r29,20(r1) | 224: 93 81 00 10 stw r28,16(r1) 224: 7c bd 2b 78 mr r29,r5 | 228: 7c 9c 23 78 mr r28,r4 228: 38 a0 00 00 li r5,0 | 22c: 38 63 00 00 addi r3,r3,0 22c: 93 c1 00 18 stw r30,24(r1) | 22e: R_PPC_ADDR16_LO .rodata.str1. 230: 7c de 33 78 mr r30,r6 | 230: 38 80 00 53 li r4,83 234: 48 00 00 01 bl 234 <flush_icache_user_range+ | 234: 93 a1 00 14 stw r29,20(r1) 234: R_PPC_PLTREL24 __might_sleep | 238: 7c bd 2b 78 mr r29,r5 238: 3c 60 00 00 lis r3,0 | 23c: 38 a0 00 00 li r5,0 23a: R_PPC_ADDR16_HA mem_map | 240: 93 c1 00 18 stw r30,24(r1) 23c: 3c 80 cc cc lis r4,-13108 | 244: 7c de 33 78 mr r30,r6 240: 80 63 00 00 lwz r3,0(r3) | 248: 48 00 00 01 bl 248 <flush_icache_user_range+ 242: R_PPC_ADDR16_LO mem_map | 248: R_PPC_PLTREL24 __might_sleep 244: 60 84 d0 00 ori r4,r4,53248 | 24c: 3c 60 00 00 lis r3,0 248: 7c 63 e0 50 subf r3,r3,r28 | 24e: R_PPC_ADDR16_HA mem_map 24c: 54 63 e8 fe rlwinm r3,r3,29,3,31 | 250: 3c 80 cc cc lis r4,-13108 250: 7c 63 21 d6 mullw r3,r3,r4 | 254: 80 63 00 00 lwz r3,0(r3) 254: 57 a4 05 3e clrlwi r4,r29,20 | 256: R_PPC_ADDR16_LO mem_map 258: 50 64 00 26 rlwimi r4,r3,0,0,19 | 258: 60 84 d0 00 ori r4,r4,53248 25c: 3c 64 c0 00 addis r3,r4,-16384 | 25c: 7c 63 e0 50 subf r3,r3,r28 260: 7c 83 f2 14 add r4,r3,r30 | 260: 54 63 e8 fe rlwinm r3,r3,29,3,31 264: 48 00 00 01 bl 264 <flush_icache_user_range+ | 264: 7c 63 21 d6 mullw r3,r3,r4 264: R_PPC_PLTREL24 flush_icache_ | 268: 57 a4 05 3e clrlwi r4,r29,20 268: 83 c1 00 18 lwz r30,24(r1) | 26c: 50 64 00 26 rlwimi r4,r3,0,0,19 26c: 83 a1 00 14 lwz r29,20(r1) | 270: 3c 64 c0 00 addis r3,r4,-16384 270: 83 81 00 10 lwz r28,16(r1) | 274: 7c 83 f2 14 add r4,r3,r30 274: 80 01 00 24 lwz r0,36(r1) | 278: 48 00 00 01 bl 278 <flush_icache_user_range+ 278: 38 21 00 20 addi r1,r1,32 | 278: R_PPC_PLTREL24 flush_icache_ 27c: 7c 08 03 a6 mtlr r0 | 27c: 83 c1 00 18 lwz r30,24(r1) 280: 4e 80 00 20 blr | 280: 83 a1 00 14 lwz r29,20(r1) | 284: 83 81 00 10 lwz r28,16(r1) 00000284 <update_mmu_cache>: | 288: 80 01 00 24 lwz r0,36(r1) 284: 4e 80 00 20 blr | 28c: 38 21 00 20 addi r1,r1,32 | 290: 7c 08 03 a6 mtlr r0 00000288 <devmem_is_allowed>: | 294: 4e 80 00 20 blr 288: 7c 08 02 a6 mflr r0 | 28c: 90 01 00 04 stw r0,4(r1) | 00000298 <update_mmu_cache>: 290: 94 21 ff f0 stwu r1,-16(r1) | 298: 4e 80 00 20 blr 294: 93 c1 00 08 stw r30,8(r1) | 298: 7c 7e 1b 78 mr r30,r3 | 0000029c <devmem_is_allowed>: 29c: 54 63 65 3e rlwinm r3,r3,12,20,31 | 29c: 7c 08 02 a6 mflr r0 2a0: 57 c4 60 26 rlwinm r4,r30,12,0,19 | 2a0: 90 01 00 04 stw r0,4(r1) 2a4: 48 00 00 01 bl 2a4 <devmem_is_allowed+0x1c> | 2a4: 94 21 ff f0 stwu r1,-16(r1) 2a4: R_PPC_PLTREL24 iomem_is_excl | 2a8: 93 c1 00 08 stw r30,8(r1) 2a8: 70 63 00 01 andi. r3,r3,1 | 2ac: 7c 7e 1b 78 mr r30,r3 2ac: 38 60 00 00 li r3,0 | 2b0: 54 63 65 3e rlwinm r3,r3,12,20,31 2b0: 41 81 00 14 bgt 2c4 <devmem_is_allowed+0x3c> | 2b4: 57 c4 60 26 rlwinm r4,r30,12,0,19 2b4: 7f c3 f3 78 mr r3,r30 | 2b8: 48 00 00 01 bl 2b8 <devmem_is_allowed+0x1c> 2b8: 48 00 00 01 bl 2b8 <devmem_is_allowed+0x30> | 2b8: R_PPC_PLTREL24 iomem_is_excl 2b8: R_PPC_PLTREL24 page_is_ram | 2bc: 70 63 00 01 andi. r3,r3,1 2bc: 7c 63 00 34 cntlzw r3,r3 | 2c0: 38 60 00 00 li r3,0 2c0: 54 63 df fe rlwinm r3,r3,27,31,31 | 2c4: 41 81 00 14 bgt 2d8 <devmem_is_allowed+0x3c> 2c4: 83 c1 00 08 lwz r30,8(r1) | 2c8: 7f c3 f3 78 mr r3,r30 2c8: 80 01 00 14 lwz r0,20(r1) | 2cc: 48 00 00 01 bl 2cc <devmem_is_allowed+0x30> 2cc: 38 21 00 10 addi r1,r1,16 | 2cc: R_PPC_PLTREL24 page_is_ram 2d0: 7c 08 03 a6 mtlr r0 | 2d0: 7c 63 00 34 cntlzw r3,r3 2d4: 4e 80 00 20 blr | 2d4: 54 63 df fe rlwinm r3,r3,27,31,31 > 2d8: 83 c1 00 08 lwz r30,8(r1) > 2dc: 80 01 00 14 lwz r0,20(r1) > 2e0: 38 21 00 10 addi r1,r1,16 > 2e4: 7c 08 03 a6 mtlr r0 > 2e8: 4e 80 00 20 blr Disassembly of section .init.text: Disassembly of section .init.text: 00000000 <mem_topology_setup>: 00000000 <mem_topology_setup>: 0: 7c 08 02 a6 mflr r0 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff f0 stwu r1,-16(r1) 8: 94 21 ff f0 stwu r1,-16(r1) c: 48 00 00 01 bl c <mem_topology_setup+0xc> c: 48 00 00 01 bl c <mem_topology_setup+0xc> c: R_PPC_PLTREL24 memblock_end_ c: R_PPC_PLTREL24 memblock_end_ 10: 54 84 a0 3e rotlwi r4,r4,20 10: 54 84 a0 3e rotlwi r4,r4,20 14: 3c a0 00 00 lis r5,0 14: 3c a0 00 00 lis r5,0 16: R_PPC_ADDR16_HA max_pfn 16: R_PPC_ADDR16_HA max_pfn 18: 50 64 a0 16 rlwimi r4,r3,20,0,11 18: 50 64 a0 16 rlwimi r4,r3,20,0,11 1c: 3c 60 00 00 lis r3,0 1c: 3c 60 00 00 lis r3,0 1e: R_PPC_ADDR16_HA max_low_pfn 1e: R_PPC_ADDR16_HA max_low_pfn 20: 90 85 00 00 stw r4,0(r5) 20: 90 85 00 00 stw r4,0(r5) 22: R_PPC_ADDR16_LO max_pfn 22: R_PPC_ADDR16_LO max_pfn 24: 38 a0 ff ff li r5,-1 24: 38 a0 ff ff li r5,-1 28: 90 83 00 00 stw r4,0(r3) 28: 90 83 00 00 stw r4,0(r3) 2a: R_PPC_ADDR16_LO max_low_pfn 2a: R_PPC_ADDR16_LO max_low_pfn 2c: 3c 60 00 00 lis r3,0 2c: 3c 60 00 00 lis r3,0 2e: R_PPC_ADDR16_HA min_low_pfn 2e: R_PPC_ADDR16_HA min_low_pfn 30: 38 80 00 00 li r4,0 30: 38 80 00 00 li r4,0 34: 38 c0 ff ff li r6,-1 34: 38 c0 ff ff li r6,-1 38: 39 00 00 00 li r8,0 38: 39 00 00 00 li r8,0 3c: 90 83 00 00 stw r4,0(r3) 3c: 90 83 00 00 stw r4,0(r3) 3e: R_PPC_ADDR16_LO min_low_pfn 3e: R_PPC_ADDR16_LO min_low_pfn 40: 3c 60 00 00 lis r3,0 40: 3c 60 00 00 lis r3,0 42: R_PPC_ADDR16_HA memblock 42: R_PPC_ADDR16_HA memblock 44: 38 80 00 00 li r4,0 44: 38 80 00 00 li r4,0 48: 38 63 00 00 addi r3,r3,0 48: 38 63 00 00 addi r3,r3,0 4a: R_PPC_ADDR16_LO memblock 4a: R_PPC_ADDR16_LO memblock 4c: 38 e3 00 10 addi r7,r3,16 4c: 38 e3 00 10 addi r7,r3,16 50: 38 60 00 00 li r3,0 50: 38 60 00 00 li r3,0 54: 48 00 00 01 bl 54 <mem_topology_setup+0x54> 54: 48 00 00 01 bl 54 <mem_topology_setup+0x54> 54: R_PPC_PLTREL24 memblock_set_ 54: R_PPC_PLTREL24 memblock_set_ 58: 80 01 00 14 lwz r0,20(r1) 58: 80 01 00 14 lwz r0,20(r1) 5c: 38 21 00 10 addi r1,r1,16 5c: 38 21 00 10 addi r1,r1,16 60: 7c 08 03 a6 mtlr r0 60: 7c 08 03 a6 mtlr r0 64: 4e 80 00 20 blr 64: 4e 80 00 20 blr 00000068 <initmem_init>: 00000068 <initmem_init>: 68: 7c 08 02 a6 mflr r0 68: 7c 08 02 a6 mflr r0 6c: 90 01 00 04 stw r0,4(r1) 6c: 90 01 00 04 stw r0,4(r1) 70: 94 21 ff f0 stwu r1,-16(r1) 70: 94 21 ff f0 stwu r1,-16(r1) 74: 38 60 00 00 li r3,0 74: 38 60 00 00 li r3,0 78: 48 00 00 01 bl 78 <initmem_init+0x10> 78: 48 00 00 01 bl 78 <initmem_init+0x10> 78: R_PPC_PLTREL24 sparse_memory 78: R_PPC_PLTREL24 sparse_memory 7c: 80 01 00 14 lwz r0,20(r1) 7c: 80 01 00 14 lwz r0,20(r1) 80: 38 21 00 10 addi r1,r1,16 80: 38 21 00 10 addi r1,r1,16 84: 7c 08 03 a6 mtlr r0 84: 7c 08 03 a6 mtlr r0 88: 4e 80 00 20 blr 88: 4e 80 00 20 blr 0000008c <paging_init>: 0000008c <paging_init>: 8c: 7c 08 02 a6 mflr r0 8c: 7c 08 02 a6 mflr r0 90: 90 01 00 04 stw r0,4(r1) 90: 90 01 00 04 stw r0,4(r1) 94: 94 21 ff d0 stwu r1,-48(r1) 94: 94 21 ff d0 stwu r1,-48(r1) 98: 93 21 00 14 stw r25,20(r1) 98: 93 21 00 14 stw r25,20(r1) 9c: 93 41 00 18 stw r26,24(r1) 9c: 93 41 00 18 stw r26,24(r1) a0: 93 61 00 1c stw r27,28(r1) a0: 93 61 00 1c stw r27,28(r1) a4: 93 81 00 20 stw r28,32(r1) a4: 93 81 00 20 stw r28,32(r1) a8: 93 a1 00 24 stw r29,36(r1) a8: 93 a1 00 24 stw r29,36(r1) ac: 93 c1 00 28 stw r30,40(r1) ac: 93 c1 00 28 stw r30,40(r1) b0: 48 00 00 01 bl b0 <paging_init+0x24> b0: 48 00 00 01 bl b0 <paging_init+0x24> b0: R_PPC_PLTREL24 memblock_phys b0: R_PPC_PLTREL24 memblock_phys b4: 7c 7e 1b 78 mr r30,r3 b4: 7c 7e 1b 78 mr r30,r3 b8: 7c 9d 23 78 mr r29,r4 b8: 7c 9d 23 78 mr r29,r4 bc: 3f 40 ff fe lis r26,-2 bc: 3f 40 ff fe lis r26,-2 c0: 48 00 00 01 bl c0 <paging_init+0x34> c0: 48 00 00 01 bl c0 <paging_init+0x34> c0: R_PPC_PLTREL24 memblock_end_ c0: R_PPC_PLTREL24 memblock_end_ c4: 7c 7c 1b 78 mr r28,r3 c4: 7c 7c 1b 78 mr r28,r3 c8: 7c 9b 23 78 mr r27,r4 c8: 7c 9b 23 78 mr r27,r4 cc: 3b 20 00 00 li r25,0 cc: 3b 20 00 00 li r25,0 d0: 38 e1 00 08 addi r7,r1,8 d0: 38 e1 00 08 addi r7,r1,8 d4: 7f 43 d3 78 mr r3,r26 d4: 7f 43 d3 78 mr r3,r26 d8: 93 21 00 10 stw r25,16(r1) d8: 93 21 00 10 stw r25,16(r1) dc: 38 a0 00 00 li r5,0 dc: 38 a0 00 00 li r5,0 e0: 38 c0 00 00 li r6,0 e0: 38 c0 00 00 li r6,0 e4: 93 21 00 08 stw r25,8(r1) e4: 93 21 00 08 stw r25,8(r1) e8: 48 00 00 01 bl e8 <paging_init+0x5c> e8: 48 00 00 01 bl e8 <paging_init+0x5c> e8: R_PPC_PLTREL24 map_kernel_pa e8: R_PPC_PLTREL24 map_kernel_pa ec: 3b 5a 10 00 addi r26,r26,4096 ec: 3b 5a 10 00 addi r26,r26,4096 f0: 2c 1a f0 00 cmpwi r26,-4096 f0: 2c 1a f0 00 cmpwi r26,-4096 f4: 40 82 ff dc bne d0 <paging_init+0x44> f4: 40 82 ff dc bne d0 <paging_init+0x44> f8: 3c 60 00 00 lis r3,0 f8: 3c 60 00 00 lis r3,0 fa: R_PPC_ADDR16_HA .rodata.str1. fa: R_PPC_ADDR16_HA .rodata.str1. fc: 4c c6 31 82 crclr 4*cr1+eq fc: 4c c6 31 82 crclr 4*cr1+eq 100: 7f 85 e3 78 mr r5,r28 100: 7f 85 e3 78 mr r5,r28 104: 38 63 00 00 addi r3,r3,0 104: 38 63 00 00 addi r3,r3,0 106: R_PPC_ADDR16_LO .rodata.str1. 106: R_PPC_ADDR16_LO .rodata.str1. 108: 7f 66 db 78 mr r6,r27 108: 7f 66 db 78 mr r6,r27 10c: 7f c7 f3 78 mr r7,r30 10c: 7f c7 f3 78 mr r7,r30 110: 7f a8 eb 78 mr r8,r29 110: 7f a8 eb 78 mr r8,r29 114: 48 00 00 01 bl 114 <paging_init+0x88> 114: 48 00 00 01 bl 114 <paging_init+0x88> 114: R_PPC_PLTREL24 printk 114: R_PPC_PLTREL24 printk 118: 7c 7d d8 10 subfc r3,r29,r27 118: 7c 7d d8 10 subfc r3,r29,r27 11c: 4c c6 31 82 crclr 4*cr1+eq 11c: 4c c6 31 82 crclr 4*cr1+eq 120: 7c be e1 10 subfe r5,r30,r28 120: 7c be e1 10 subfe r5,r30,r28 124: 54 64 60 3e rotlwi r4,r3,12 124: 54 64 60 3e rotlwi r4,r3,12 128: 3c 60 00 00 lis r3,0 128: 3c 60 00 00 lis r3,0 12a: R_PPC_ADDR16_HA .rodata.str1. 12a: R_PPC_ADDR16_HA .rodata.str1. 12c: 50 a4 60 26 rlwimi r4,r5,12,0,19 12c: 50 a4 60 26 rlwimi r4,r5,12,0,19 130: 38 63 00 00 addi r3,r3,0 130: 38 63 00 00 addi r3,r3,0 132: R_PPC_ADDR16_LO .rodata.str1. 132: R_PPC_ADDR16_LO .rodata.str1. 134: 48 00 00 01 bl 134 <paging_init+0xa8> 134: 48 00 00 01 bl 134 <paging_init+0xa8> 134: R_PPC_PLTREL24 printk 134: R_PPC_PLTREL24 printk 138: 3c 60 00 00 lis r3,0 138: 3c 60 00 00 lis r3,0 13a: R_PPC_ADDR16_HA max_low_pfn 13a: R_PPC_ADDR16_HA max_low_pfn 13c: 80 83 00 00 lwz r4,0(r3) 13c: 80 83 00 00 lwz r4,0(r3) 13e: R_PPC_ADDR16_LO max_low_pfn 13e: R_PPC_ADDR16_LO max_low_pfn 140: 3c 60 00 00 lis r3,0 140: 3c 60 00 00 lis r3,0 142: R_PPC_ADDR16_HA .bss+0x10 142: R_PPC_ADDR16_HA .bss+0x10 144: 94 83 00 00 stwu r4,0(r3) 144: 94 83 00 00 stwu r4,0(r3) 146: R_PPC_ADDR16_LO .bss+0x10 146: R_PPC_ADDR16_LO .bss+0x10 148: 48 00 00 01 bl 148 <paging_init+0xbc> 148: 48 00 00 01 bl 148 <paging_init+0xbc> 148: R_PPC_PLTREL24 free_area_ini 148: R_PPC_PLTREL24 free_area_ini 14c: 83 c1 00 28 lwz r30,40(r1) 14c: 83 c1 00 28 lwz r30,40(r1) 150: 83 a1 00 24 lwz r29,36(r1) 150: 83 a1 00 24 lwz r29,36(r1) 154: 83 81 00 20 lwz r28,32(r1) 154: 83 81 00 20 lwz r28,32(r1) 158: 83 61 00 1c lwz r27,28(r1) 158: 83 61 00 1c lwz r27,28(r1) 15c: 83 41 00 18 lwz r26,24(r1) 15c: 83 41 00 18 lwz r26,24(r1) 160: 83 21 00 14 lwz r25,20(r1) 160: 83 21 00 14 lwz r25,20(r1) 164: 80 01 00 34 lwz r0,52(r1) 164: 80 01 00 34 lwz r0,52(r1) 168: 38 21 00 30 addi r1,r1,48 168: 38 21 00 30 addi r1,r1,48 16c: 7c 08 03 a6 mtlr r0 16c: 7c 08 03 a6 mtlr r0 170: 4e 80 00 20 blr 170: 4e 80 00 20 blr 00000174 <mem_init>: 00000174 <mem_init>: 174: 7c 08 02 a6 mflr r0 174: 7c 08 02 a6 mflr r0 178: 90 01 00 04 stw r0,4(r1) 178: 90 01 00 04 stw r0,4(r1) 17c: 94 21 ff e0 stwu r1,-32(r1) 17c: 94 21 ff e0 stwu r1,-32(r1) 180: 3c 60 00 00 lis r3,0 180: 3c 60 00 00 lis r3,0 182: R_PPC_ADDR16_HA max_low_pfn 182: R_PPC_ADDR16_HA max_low_pfn 184: 3c 80 00 00 lis r4,0 184: 3c 80 00 00 lis r4,0 186: R_PPC_ADDR16_HA max_pfn 186: R_PPC_ADDR16_HA max_pfn 188: 93 81 00 10 stw r28,16(r1) 188: 93 81 00 10 stw r28,16(r1) 18c: 3f 80 00 00 lis r28,0 18c: 3f 80 00 00 lis r28,0 18e: R_PPC_ADDR16_HA high_memory 18e: R_PPC_ADDR16_HA high_memory 190: 80 63 00 00 lwz r3,0(r3) 190: 80 63 00 00 lwz r3,0(r3) 192: R_PPC_ADDR16_LO max_low_pfn 192: R_PPC_ADDR16_LO max_low_pfn 194: 80 84 00 00 lwz r4,0(r4) 194: 80 84 00 00 lwz r4,0(r4) 196: R_PPC_ADDR16_LO max_pfn 196: R_PPC_ADDR16_LO max_pfn 198: 54 63 60 26 rlwinm r3,r3,12,0,19 198: 54 63 60 26 rlwinm r3,r3,12,0,19 19c: 3c 63 c0 00 addis r3,r3,-16384 19c: 3c 63 c0 00 addis r3,r3,-16384 1a0: 90 7c 00 00 stw r3,0(r28) 1a0: 90 7c 00 00 stw r3,0(r28) 1a2: R_PPC_ADDR16_LO high_memory 1a2: R_PPC_ADDR16_LO high_memory 1a4: 3c 60 00 00 lis r3,0 1a4: 3c 60 00 00 lis r3,0 1a6: R_PPC_ADDR16_HA max_mapnr 1a6: R_PPC_ADDR16_HA max_mapnr 1a8: 93 a1 00 14 stw r29,20(r1) 1a8: 93 a1 00 14 stw r29,20(r1) 1ac: 93 c1 00 18 stw r30,24(r1) 1ac: 93 c1 00 18 stw r30,24(r1) 1b0: 90 83 00 00 stw r4,0(r3) 1b0: 90 83 00 00 stw r4,0(r3) 1b2: R_PPC_ADDR16_LO max_mapnr 1b2: R_PPC_ADDR16_LO max_mapnr 1b4: 48 00 00 01 bl 1b4 <mem_init+0x40> 1b4: 48 00 00 01 bl 1b4 <mem_init+0x40> 1b4: R_PPC_PLTREL24 memblock_free 1b4: R_PPC_PLTREL24 memblock_free 1b8: 38 60 00 00 li r3,0 1b8: 38 60 00 00 li r3,0 1bc: 48 00 00 01 bl 1bc <mem_init+0x48> 1bc: 48 00 00 01 bl 1bc <mem_init+0x48> 1bc: R_PPC_PLTREL24 mem_init_prin 1bc: R_PPC_PLTREL24 mem_init_prin 1c0: 3c 60 00 00 lis r3,0 1c0: 3c 60 00 00 lis r3,0 1c2: R_PPC_ADDR16_HA .rodata.str1. 1c2: R_PPC_ADDR16_HA .rodata.str1. 1c4: 4c c6 31 82 crclr 4*cr1+eq 1c4: 4c c6 31 82 crclr 4*cr1+eq 1c8: 38 63 00 00 addi r3,r3,0 1c8: 38 63 00 00 addi r3,r3,0 1ca: R_PPC_ADDR16_LO .rodata.str1. 1ca: R_PPC_ADDR16_LO .rodata.str1. 1cc: 48 00 00 01 bl 1cc <mem_init+0x58> 1cc: 48 00 00 01 bl 1cc <mem_init+0x58> 1cc: R_PPC_PLTREL24 printk 1cc: R_PPC_PLTREL24 printk 1d0: 3c 80 ff fd lis r4,-3 1d0: 3c 80 ff fd lis r4,-3 1d4: 3c 60 00 00 lis r3,0 1d4: 3c 60 00 00 lis r3,0 1d6: R_PPC_ADDR16_HA .rodata.str1. 1d6: R_PPC_ADDR16_HA .rodata.str1. 1d8: 4c c6 31 82 crclr 4*cr1+eq 1d8: 4c c6 31 82 crclr 4*cr1+eq 1dc: 60 9e f0 00 ori r30,r4,61440 1dc: 60 9e f0 00 ori r30,r4,61440 1e0: 38 63 00 00 addi r3,r3,0 1e0: 38 63 00 00 addi r3,r3,0 1e2: R_PPC_ADDR16_LO .rodata.str1. 1e2: R_PPC_ADDR16_LO .rodata.str1. 1e4: 7f c4 f3 78 mr r4,r30 1e4: 7f c4 f3 78 mr r4,r30 1e8: 38 a0 f0 00 li r5,-4096 1e8: 38 a0 f0 00 li r5,-4096 1ec: 48 00 00 01 bl 1ec <mem_init+0x78> 1ec: 48 00 00 01 bl 1ec <mem_init+0x78> 1ec: R_PPC_PLTREL24 printk 1ec: R_PPC_PLTREL24 printk 1f0: 3c 80 ff dd lis r4,-35 1f0: 3c 80 ff dd lis r4,-35 1f4: 3c 60 00 00 lis r3,0 1f4: 3c 60 00 00 lis r3,0 1f6: R_PPC_ADDR16_HA .rodata.str1. 1f6: R_PPC_ADDR16_HA .rodata.str1. 1f8: 4c c6 31 82 crclr 4*cr1+eq 1f8: 4c c6 31 82 crclr 4*cr1+eq 1fc: 60 9d f0 00 ori r29,r4,61440 1fc: 60 9d f0 00 ori r29,r4,61440 200: 38 63 00 00 addi r3,r3,0 200: 38 63 00 00 addi r3,r3,0 202: R_PPC_ADDR16_LO .rodata.str1. 202: R_PPC_ADDR16_LO .rodata.str1. 204: 7f a4 eb 78 mr r4,r29 204: 7f a4 eb 78 mr r4,r29 208: 7f c5 f3 78 mr r5,r30 208: 7f c5 f3 78 mr r5,r30 20c: 48 00 00 01 bl 20c <mem_init+0x98> 20c: 48 00 00 01 bl 20c <mem_init+0x98> 20c: R_PPC_PLTREL24 printk 20c: R_PPC_PLTREL24 printk 210: 3f c0 00 00 lis r30,0 210: 3f c0 00 00 lis r30,0 212: R_PPC_ADDR16_HA ioremap_bot 212: R_PPC_ADDR16_HA ioremap_bot 214: 3c 60 00 00 lis r3,0 214: 3c 60 00 00 lis r3,0 216: R_PPC_ADDR16_HA .rodata.str1. 216: R_PPC_ADDR16_HA .rodata.str1. 218: 4c c6 31 82 crclr 4*cr1+eq 218: 4c c6 31 82 crclr 4*cr1+eq 21c: 80 9e 00 00 lwz r4,0(r30) 21c: 80 9e 00 00 lwz r4,0(r30) 21e: R_PPC_ADDR16_LO ioremap_bot 21e: R_PPC_ADDR16_LO ioremap_bot 220: 38 63 00 00 addi r3,r3,0 220: 38 63 00 00 addi r3,r3,0 222: R_PPC_ADDR16_LO .rodata.str1. 222: R_PPC_ADDR16_LO .rodata.str1. 224: 7f a5 eb 78 mr r5,r29 224: 7f a5 eb 78 mr r5,r29 228: 48 00 00 01 bl 228 <mem_init+0xb4> 228: 48 00 00 01 bl 228 <mem_init+0xb4> 228: R_PPC_PLTREL24 printk 228: R_PPC_PLTREL24 printk 22c: 80 7c 00 00 lwz r3,0(r28) 22c: 80 7c 00 00 lwz r3,0(r28) 22e: R_PPC_ADDR16_LO high_memory 22e: R_PPC_ADDR16_LO high_memory 230: 3c 80 01 00 lis r4,256 230: 3c 80 01 00 lis r4,256 234: 4c c6 31 82 crclr 4*cr1+eq 234: 4c c6 31 82 crclr 4*cr1+eq 238: 38 63 ff ff addi r3,r3,-1 238: 38 63 ff ff addi r3,r3,-1 23c: 80 be 00 00 lwz r5,0(r30) 23c: 80 be 00 00 lwz r5,0(r30) 23e: R_PPC_ADDR16_LO ioremap_bot 23e: R_PPC_ADDR16_LO ioremap_bot 240: 3c 63 10 00 addis r3,r3,4096 240: 3c 63 10 00 addis r3,r3,4096 244: 54 63 00 06 rlwinm r3,r3,0,0,3 244: 54 63 00 06 rlwinm r3,r3,0,0,3 248: 50 64 02 0c rlwimi r4,r3,0,8,6 248: 50 64 02 0c rlwimi r4,r3,0,8,6 24c: 3c 60 00 00 lis r3,0 24c: 3c 60 00 00 lis r3,0 24e: R_PPC_ADDR16_HA .rodata.str1. 24e: R_PPC_ADDR16_HA .rodata.str1. 250: 38 63 00 00 addi r3,r3,0 250: 38 63 00 00 addi r3,r3,0 252: R_PPC_ADDR16_LO .rodata.str1. 252: R_PPC_ADDR16_LO .rodata.str1. 254: 48 00 00 01 bl 254 <mem_init+0xe0> 254: 48 00 00 01 bl 254 <mem_init+0xe0> 254: R_PPC_PLTREL24 printk 254: R_PPC_PLTREL24 printk 258: 83 c1 00 18 lwz r30,24(r1) 258: 83 c1 00 18 lwz r30,24(r1) 25c: 83 a1 00 14 lwz r29,20(r1) 25c: 83 a1 00 14 lwz r29,20(r1) 260: 83 81 00 10 lwz r28,16(r1) 260: 83 81 00 10 lwz r28,16(r1) 264: 80 01 00 24 lwz r0,36(r1) 264: 80 01 00 24 lwz r0,36(r1) 268: 38 21 00 20 addi r1,r1,32 268: 38 21 00 20 addi r1,r1,32 26c: 7c 08 03 a6 mtlr r0 26c: 7c 08 03 a6 mtlr r0 270: 4e 80 00 20 blr 270: 4e 80 00 20 blr 00000274 <add_system_ram_resources>: 00000274 <add_system_ram_resources>: 274: 7c 08 02 a6 mflr r0 274: 7c 08 02 a6 mflr r0 278: 90 01 00 04 stw r0,4(r1) 278: 90 01 00 04 stw r0,4(r1) 27c: 94 21 ff c0 stwu r1,-64(r1) 27c: 94 21 ff c0 stwu r1,-64(r1) 280: 3c 60 00 00 lis r3,0 280: 3c 60 00 00 lis r3,0 282: R_PPC_ADDR16_HA memblock 282: R_PPC_ADDR16_HA memblock 284: 93 a1 00 34 stw r29,52(r1) 284: 93 a1 00 34 stw r29,52(r1) 288: 3b a3 00 00 addi r29,r3,0 288: 3b a3 00 00 addi r29,r3,0 28a: R_PPC_ADDR16_LO memblock 28a: R_PPC_ADDR16_LO memblock 28c: 80 7d 00 10 lwz r3,16(r29) 28c: 80 7d 00 10 lwz r3,16(r29) 290: 93 81 00 30 stw r28,48(r1) 290: 93 81 00 30 stw r28,48(r1) 294: 1c 63 00 18 mulli r3,r3,24 294: 1c 63 00 18 mulli r3,r3,24 298: 83 9d 00 20 lwz r28,32(r29) 298: 83 9d 00 20 lwz r28,32(r29) 29c: 7c 7c 1a 14 add r3,r28,r3 29c: 7c 7c 1a 14 add r3,r28,r3 2a0: 92 a1 00 14 stw r21,20(r1) 2a0: 92 a1 00 14 stw r21,20(r1) 2a4: 7c 1c 18 40 cmplw r28,r3 2a4: 7c 1c 18 40 cmplw r28,r3 2a8: 92 c1 00 18 stw r22,24(r1) 2a8: 92 c1 00 18 stw r22,24(r1) 2ac: 92 e1 00 1c stw r23,28(r1) 2ac: 92 e1 00 1c stw r23,28(r1) 2b0: 93 01 00 20 stw r24,32(r1) 2b0: 93 01 00 20 stw r24,32(r1) 2b4: 93 21 00 24 stw r25,36(r1) 2b4: 93 21 00 24 stw r25,36(r1) 2b8: 93 41 00 28 stw r26,40(r1) 2b8: 93 41 00 28 stw r26,40(r1) 2bc: 93 61 00 2c stw r27,44(r1) 2bc: 93 61 00 2c stw r27,44(r1) 2c0: 93 c1 00 38 stw r30,56(r1) 2c0: 93 c1 00 38 stw r30,56(r1) 2c4: 40 80 00 ac bge 370 <add_system_ram_resources 2c4: 40 80 00 ac bge 370 <add_system_ram_resources 2c8: 3c 60 00 00 lis r3,0 2c8: 3c 60 00 00 lis r3,0 2ca: R_PPC_ADDR16_HA kmalloc_cache 2ca: R_PPC_ADDR16_HA kmalloc_cache 2cc: 3c 80 00 00 lis r4,0 2cc: 3c 80 00 00 lis r4,0 2ce: R_PPC_ADDR16_HA .rodata.str1. 2ce: R_PPC_ADDR16_HA .rodata.str1. 2d0: 3c a0 81 00 lis r5,-32512 2d0: 3c a0 81 00 lis r5,-32512 2d4: 3c c0 00 00 lis r6,0 2d4: 3c c0 00 00 lis r6,0 2d6: R_PPC_ADDR16_HA iomem_resourc 2d6: R_PPC_ADDR16_HA iomem_resourc 2d8: 3b 7c ff e8 addi r27,r28,-24 2d8: 3b 7c ff e8 addi r27,r28,-24 2dc: 3b 40 00 00 li r26,0 2dc: 3b 40 00 00 li r26,0 2e0: 3b 23 00 00 addi r25,r3,0 2e0: 3b 23 00 00 addi r25,r3,0 2e2: R_PPC_ADDR16_LO kmalloc_cache 2e2: R_PPC_ADDR16_LO kmalloc_cache 2e4: 3b 04 00 00 addi r24,r4,0 2e4: 3b 04 00 00 addi r24,r4,0 2e6: R_PPC_ADDR16_LO .rodata.str1. 2e6: R_PPC_ADDR16_LO .rodata.str1. 2e8: 60 b7 02 00 ori r23,r5,512 2e8: 60 b7 02 00 ori r23,r5,512 2ec: 3b c6 00 00 addi r30,r6,0 2ec: 3b c6 00 00 addi r30,r6,0 2ee: R_PPC_ADDR16_LO iomem_resourc 2ee: R_PPC_ADDR16_LO iomem_resourc 2f0: 80 79 00 18 lwz r3,24(r25) 2f0: 80 79 00 18 lwz r3,24(r25) 2f4: 38 80 0d c0 li r4,3520 2f4: 38 80 0d c0 li r4,3520 2f8: 38 a0 00 28 li r5,40 2f8: 38 a0 00 28 li r5,40 2fc: 82 db 00 1c lwz r22,28(r27) 2fc: 82 db 00 1c lwz r22,28(r27) 300: 82 bb 00 24 lwz r21,36(r27) 300: 82 bb 00 24 lwz r21,36(r27) 304: 48 00 00 01 bl 304 <add_system_ram_resources 304: 48 00 00 01 bl 304 <add_system_ram_resources 304: R_PPC_PLTREL24 kmem_cache_al 304: R_PPC_PLTREL24 kmem_cache_al 308: 7c 64 1b 78 mr r4,r3 308: 7c 64 1b 78 mr r4,r3 30c: 7c 63 00 34 cntlzw r3,r3 30c: 7c 63 00 34 cntlzw r3,r3 310: 28 04 00 00 cmplwi r4,0 310: 28 04 00 00 cmplwi r4,0 314: 54 63 df fe rlwinm r3,r3,27,31,31 314: 54 63 df fe rlwinm r3,r3,27,31,31 318: 0f 03 00 00 twnei r3,0 318: 0f 03 00 00 twnei r3,0 31c: 41 82 00 34 beq 350 <add_system_ram_resources 31c: 41 82 00 34 beq 350 <add_system_ram_resources 320: 7c 76 aa 14 add r3,r22,r21 320: 7c 76 aa 14 add r3,r22,r21 324: 93 04 00 10 stw r24,16(r4) 324: 93 04 00 10 stw r24,16(r4) 328: 38 63 ff ff addi r3,r3,-1 328: 38 63 ff ff addi r3,r3,-1 32c: 90 64 00 0c stw r3,12(r4) 32c: 90 64 00 0c stw r3,12(r4) 330: 7f c3 f3 78 mr r3,r30 330: 7f c3 f3 78 mr r3,r30 334: 93 44 00 00 stw r26,0(r4) 334: 93 44 00 00 stw r26,0(r4) 338: 92 c4 00 04 stw r22,4(r4) 338: 92 c4 00 04 stw r22,4(r4) 33c: 93 44 00 08 stw r26,8(r4) 33c: 93 44 00 08 stw r26,8(r4) 340: 92 e4 00 14 stw r23,20(r4) 340: 92 e4 00 14 stw r23,20(r4) 344: 48 00 00 01 bl 344 <add_system_ram_resources 344: 48 00 00 01 bl 344 <add_system_ram_resources 344: R_PPC_PLTREL24 request_resou 344: R_PPC_PLTREL24 request_resou 348: 54 63 0f fe rlwinm r3,r3,1,31,31 348: 54 63 0f fe rlwinm r3,r3,1,31,31 34c: 0f 03 00 00 twnei r3,0 34c: 0f 03 00 00 twnei r3,0 350: 80 7d 00 10 lwz r3,16(r29) 350: 80 7d 00 10 lwz r3,16(r29) 354: 3b 9c 00 18 addi r28,r28,24 354: 3b 9c 00 18 addi r28,r28,24 358: 3b 7b 00 18 addi r27,r27,24 358: 3b 7b 00 18 addi r27,r27,24 35c: 80 9d 00 20 lwz r4,32(r29) 35c: 80 9d 00 20 lwz r4,32(r29) 360: 1c 63 00 18 mulli r3,r3,24 360: 1c 63 00 18 mulli r3,r3,24 364: 7c 64 1a 14 add r3,r4,r3 364: 7c 64 1a 14 add r3,r4,r3 368: 7c 1c 18 40 cmplw r28,r3 368: 7c 1c 18 40 cmplw r28,r3 36c: 41 80 ff 84 blt 2f0 <add_system_ram_resources 36c: 41 80 ff 84 blt 2f0 <add_system_ram_resources 370: 38 60 00 00 li r3,0 370: 38 60 00 00 li r3,0 374: 83 c1 00 38 lwz r30,56(r1) 374: 83 c1 00 38 lwz r30,56(r1) 378: 83 a1 00 34 lwz r29,52(r1) 378: 83 a1 00 34 lwz r29,52(r1) 37c: 83 81 00 30 lwz r28,48(r1) 37c: 83 81 00 30 lwz r28,48(r1) 380: 83 61 00 2c lwz r27,44(r1) 380: 83 61 00 2c lwz r27,44(r1) 384: 83 41 00 28 lwz r26,40(r1) 384: 83 41 00 28 lwz r26,40(r1) 388: 83 21 00 24 lwz r25,36(r1) 388: 83 21 00 24 lwz r25,36(r1) 38c: 83 01 00 20 lwz r24,32(r1) 38c: 83 01 00 20 lwz r24,32(r1) 390: 82 e1 00 1c lwz r23,28(r1) 390: 82 e1 00 1c lwz r23,28(r1) 394: 82 c1 00 18 lwz r22,24(r1) 394: 82 c1 00 18 lwz r22,24(r1) 398: 82 a1 00 14 lwz r21,20(r1) 398: 82 a1 00 14 lwz r21,20(r1) 39c: 80 01 00 44 lwz r0,68(r1) 39c: 80 01 00 44 lwz r0,68(r1) 3a0: 38 21 00 40 addi r1,r1,64 3a0: 38 21 00 40 addi r1,r1,64 3a4: 7c 08 03 a6 mtlr r0 3a4: 7c 08 03 a6 mtlr r0 3a8: 4e 80 00 20 blr 3a8: 4e 80 00 20 blr
On Sun, Jul 21, 2019 at 07:41:40PM -0700, Nathan Chancellor wrote: > Hi Segher, > > On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > > 0000017c clear_user_page: > > > 17c: 94 21 ff f0 stwu 1, -16(1) > > > 180: 38 80 00 80 li 4, 128 > > > 184: 38 63 ff e0 addi 3, 3, -32 > > > 188: 7c 89 03 a6 mtctr 4 > > > 18c: 38 81 00 0f addi 4, 1, 15 > > > 190: 8c c3 00 20 lbzu 6, 32(3) > > > 194: 98 c1 00 0f stb 6, 15(1) > > > 198: 7c 00 27 ec dcbz 0, 4 > > > 19c: 42 00 ff f4 bdnz .+65524 > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > work. It's copying a byte from each target cache line to the stack, > > and then does clears the cache line containing that byte on the stack. > > > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > > the clang people. > > > > Or it may be that they do not treat inline asm operands as lvalues > > properly? That rings some bells. Yeah that looks like it. The code is __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); so yeah it looks like clang took that *(u8 *)addr as rvalue, and stored that in stack, and then used *that* as memory. Maybe clang simply does not not to treat "Z" the same as "m"? (And "Y" and "Q" and "es" and a whole bunch of "w*", what about those?) Segher
Segher Boessenkool <segher@kernel.crashing.org> writes: > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: >> I have attached the disassembly of arch/powerpc/kernel/mem.o with >> clear_page (working) and broken_clear_page (broken), along with the side >> by side diff. My assembly knowledge is fairly limited as it stands and >> it is certainly not up to snuff on PowerPC so I have no idea what I am >> looking for. Please let me know if anything immediately looks off or if >> there is anything else I can do to help out. > > You might want to use a disassembler that shows most simplified mnemonics, > and you crucially should show the relocations. "objdump -dr" works nicely. > >> 0000017c clear_user_page: >> 17c: 38 80 00 80 li 4, 128 >> 180: 7c 89 03 a6 mtctr 4 >> 184: 7c 00 1f ec dcbz 0, 3 >> 188: 38 63 00 20 addi 3, 3, 32 >> 18c: 42 00 ff f8 bdnz .+65528 > > That offset is incorrectly disassembled, btw (it's a signed field, not > unsigned). > >> 0000017c clear_user_page: >> 17c: 94 21 ff f0 stwu 1, -16(1) >> 180: 38 80 00 80 li 4, 128 >> 184: 38 63 ff e0 addi 3, 3, -32 >> 188: 7c 89 03 a6 mtctr 4 >> 18c: 38 81 00 0f addi 4, 1, 15 >> 190: 8c c3 00 20 lbzu 6, 32(3) >> 194: 98 c1 00 0f stb 6, 15(1) >> 198: 7c 00 27 ec dcbz 0, 4 >> 19c: 42 00 ff f4 bdnz .+65524 > > Uh, yeah, well, I have no idea what clang tried here, but that won't > work. It's copying a byte from each target cache line to the stack, > and then does clears the cache line containing that byte on the stack. So it seems like this is a clang bug. None of the distros we support use clang, but we would still like to keep it working if we can. Looking at the original patch, the only upside is that the compiler can use both RA and RB to compute the address, rather than us forcing RA to 0. But at least with my compiler here (GCC 8 vintage) I don't actually see GCC ever using both GPRs even with the patch. Or at least, there's no difference before/after the patch as far as I can see. So my inclination is to revert the original patch. We can try again in a few years :D Thoughts? cheers
On Mon, Jul 22, 2019 at 08:15:14PM +1000, Michael Ellerman wrote: > Segher Boessenkool <segher@kernel.crashing.org> writes: > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > >> 0000017c clear_user_page: > >> 17c: 94 21 ff f0 stwu 1, -16(1) > >> 180: 38 80 00 80 li 4, 128 > >> 184: 38 63 ff e0 addi 3, 3, -32 > >> 188: 7c 89 03 a6 mtctr 4 > >> 18c: 38 81 00 0f addi 4, 1, 15 > >> 190: 8c c3 00 20 lbzu 6, 32(3) > >> 194: 98 c1 00 0f stb 6, 15(1) > >> 198: 7c 00 27 ec dcbz 0, 4 > >> 19c: 42 00 ff f4 bdnz .+65524 > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > work. It's copying a byte from each target cache line to the stack, > > and then does clears the cache line containing that byte on the stack. > > So it seems like this is a clang bug. > > None of the distros we support use clang, but we would still like to > keep it working if we can. Which version? Which versions *are* broken? > Looking at the original patch, the only upside is that the compiler > can use both RA and RB to compute the address, rather than us forcing RA > to 0. > > But at least with my compiler here (GCC 8 vintage) I don't actually see > GCC ever using both GPRs even with the patch. Or at least, there's no > difference before/after the patch as far as I can see. The benefit is small, certainly. > So my inclination is to revert the original patch. We can try again in a > few years :D > > Thoughts? I think you should give the clang people time to figure out what is going on. Segher
On Sun, Jul 21, 2019 at 11:19 PM Segher Boessenkool <segher@kernel.crashing.org> wrote: > > On Sun, Jul 21, 2019 at 07:41:40PM -0700, Nathan Chancellor wrote: > > Hi Segher, > > > > On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > > > 0000017c clear_user_page: > > > > 17c: 94 21 ff f0 stwu 1, -16(1) > > > > 180: 38 80 00 80 li 4, 128 > > > > 184: 38 63 ff e0 addi 3, 3, -32 > > > > 188: 7c 89 03 a6 mtctr 4 > > > > 18c: 38 81 00 0f addi 4, 1, 15 > > > > 190: 8c c3 00 20 lbzu 6, 32(3) > > > > 194: 98 c1 00 0f stb 6, 15(1) > > > > 198: 7c 00 27 ec dcbz 0, 4 > > > > 19c: 42 00 ff f4 bdnz .+65524 > > > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > > work. It's copying a byte from each target cache line to the stack, > > > and then does clears the cache line containing that byte on the stack. > > > > > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > > > the clang people. > > > > > > Or it may be that they do not treat inline asm operands as lvalues > > > properly? That rings some bells. Yeah that looks like it. > > The code is > __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); > > so yeah it looks like clang took that *(u8 *)addr as rvalue, and > stored that in stack, and then used *that* as memory. What's the %y modifier supposed to mean here? addr is in the list of inputs, so what's wrong with using it as an rvalue? > > Maybe clang simply does not not to treat "Z" the same as "m"? (And "Y" > and "Q" and "es" and a whole bunch of "w*", what about those?)
On Mon, Jul 22, 2019 at 10:21:07AM -0700, Nick Desaulniers wrote: > On Sun, Jul 21, 2019 at 11:19 PM Segher Boessenkool > <segher@kernel.crashing.org> wrote: > > On Sun, Jul 21, 2019 at 07:41:40PM -0700, Nathan Chancellor wrote: > > > On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > > > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > > > > 0000017c clear_user_page: > > > > > 17c: 94 21 ff f0 stwu 1, -16(1) > > > > > 180: 38 80 00 80 li 4, 128 > > > > > 184: 38 63 ff e0 addi 3, 3, -32 > > > > > 188: 7c 89 03 a6 mtctr 4 > > > > > 18c: 38 81 00 0f addi 4, 1, 15 > > > > > 190: 8c c3 00 20 lbzu 6, 32(3) > > > > > 194: 98 c1 00 0f stb 6, 15(1) > > > > > 198: 7c 00 27 ec dcbz 0, 4 > > > > > 19c: 42 00 ff f4 bdnz .+65524 > > > > > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > > > work. It's copying a byte from each target cache line to the stack, > > > > and then does clears the cache line containing that byte on the stack. > > > > > > > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > > > > the clang people. > > > > > > > > Or it may be that they do not treat inline asm operands as lvalues > > > > properly? That rings some bells. Yeah that looks like it. > > > > The code is > > __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); > > > > so yeah it looks like clang took that *(u8 *)addr as rvalue, and > > stored that in stack, and then used *that* as memory. > > What's the %y modifier supposed to mean here? It prints a memory address for an indexed operand. If you write just "%0" it prints addresses that are a single register as "0(r3)" instead of "0,r3". Some instructions do not allow offset form. > addr is in the list of > inputs, so what's wrong with using it as an rvalue? It seems to use *(u8 *)addr as rvalue. Asm operands are lvalues. It matters a lot for memory operands. > > Maybe clang simply does not not to treat "Z" the same as "m"? (And "Y" > > and "Q" and "es" and a whole bunch of "w*", what about those?) Segher
Segher Boessenkool <segher@kernel.crashing.org> writes: > On Mon, Jul 22, 2019 at 08:15:14PM +1000, Michael Ellerman wrote: >> Segher Boessenkool <segher@kernel.crashing.org> writes: >> > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: >> >> 0000017c clear_user_page: >> >> 17c: 94 21 ff f0 stwu 1, -16(1) >> >> 180: 38 80 00 80 li 4, 128 >> >> 184: 38 63 ff e0 addi 3, 3, -32 >> >> 188: 7c 89 03 a6 mtctr 4 >> >> 18c: 38 81 00 0f addi 4, 1, 15 >> >> 190: 8c c3 00 20 lbzu 6, 32(3) >> >> 194: 98 c1 00 0f stb 6, 15(1) >> >> 198: 7c 00 27 ec dcbz 0, 4 >> >> 19c: 42 00 ff f4 bdnz .+65524 >> > >> > Uh, yeah, well, I have no idea what clang tried here, but that won't >> > work. It's copying a byte from each target cache line to the stack, >> > and then does clears the cache line containing that byte on the stack. >> >> So it seems like this is a clang bug. >> >> None of the distros we support use clang, but we would still like to >> keep it working if we can. > > Which version? Which versions *are* broken? AFAIK clang 8 is the first version that we could build with, without hacks. >> Looking at the original patch, the only upside is that the compiler >> can use both RA and RB to compute the address, rather than us forcing RA >> to 0. >> >> But at least with my compiler here (GCC 8 vintage) I don't actually see >> GCC ever using both GPRs even with the patch. Or at least, there's no >> difference before/after the patch as far as I can see. > > The benefit is small, certainly. Zero is small, but I guess some things are smaller? :P >> So my inclination is to revert the original patch. We can try again in a >> few years :D >> >> Thoughts? > > I think you should give the clang people time to figure out what is > going on. Yeah fair enough, will wait and see what their diagnosis is. cheers
On Tue, Jul 23, 2019 at 09:21:53AM +1000, Michael Ellerman wrote: > Segher Boessenkool <segher@kernel.crashing.org> writes: > >> can use both RA and RB to compute the address, rather than us forcing RA > >> to 0. > >> > >> But at least with my compiler here (GCC 8 vintage) I don't actually see > >> GCC ever using both GPRs even with the patch. Or at least, there's no > >> difference before/after the patch as far as I can see. > > > > The benefit is small, certainly. > > Zero is small, but I guess some things are smaller? :P Heh. 0 out of 12 is small. It actually is quite easy to do trigger the macros to generate two-reg dcb* instructions; but all the places where that is especially useful, in loops for example, already use hand-written assembler code (and yes, using two-reg forms). You probably will not want to write those routines as plain C ever given how important those are for performance (memset, clear-a-page), so the dcb* macros won't ever be very hot, oh well. > >> So my inclination is to revert the original patch. We can try again in a > >> few years :D > >> > >> Thoughts? > > > > I think you should give the clang people time to figure out what is > > going on. > > Yeah fair enough, will wait and see what their diagnosis is. Thanks! Segher
On Mon, Jul 22, 2019 at 10:58 AM Segher Boessenkool <segher@kernel.crashing.org> wrote: > > On Mon, Jul 22, 2019 at 10:21:07AM -0700, Nick Desaulniers wrote: > > On Sun, Jul 21, 2019 at 11:19 PM Segher Boessenkool > > <segher@kernel.crashing.org> wrote: > > > On Sun, Jul 21, 2019 at 07:41:40PM -0700, Nathan Chancellor wrote: > > > > On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > > > > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > > > > > 0000017c clear_user_page: > > > > > > 17c: 94 21 ff f0 stwu 1, -16(1) > > > > > > 180: 38 80 00 80 li 4, 128 > > > > > > 184: 38 63 ff e0 addi 3, 3, -32 > > > > > > 188: 7c 89 03 a6 mtctr 4 > > > > > > 18c: 38 81 00 0f addi 4, 1, 15 > > > > > > 190: 8c c3 00 20 lbzu 6, 32(3) > > > > > > 194: 98 c1 00 0f stb 6, 15(1) > > > > > > 198: 7c 00 27 ec dcbz 0, 4 > > > > > > 19c: 42 00 ff f4 bdnz .+65524 > > > > > > > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > > > > work. It's copying a byte from each target cache line to the stack, > > > > > and then does clears the cache line containing that byte on the stack. > > > > > > > > > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > > > > > the clang people. > > > > > > > > > > Or it may be that they do not treat inline asm operands as lvalues > > > > > properly? That rings some bells. Yeah that looks like it. > > > > > > The code is > > > __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); > > > > > > so yeah it looks like clang took that *(u8 *)addr as rvalue, and > > > stored that in stack, and then used *that* as memory. > > > > What's the %y modifier supposed to mean here? > > It prints a memory address for an indexed operand. > > If you write just "%0" it prints addresses that are a single register > as "0(r3)" instead of "0,r3". Some instructions do not allow offset > form. > > > addr is in the list of > > inputs, so what's wrong with using it as an rvalue? > > It seems to use *(u8 *)addr as rvalue. Asm operands are lvalues. It > matters a lot for memory operands. Hmm...not sure that's specified behavior. Anyways, I've filed: https://bugs.llvm.org/show_bug.cgi?id=42762 to see if folks more familiar with LLVM's ppc backend have some more thoughts. I recommend considering reverting commit 6c5875843b87 ("powerpc: slightly improve cache helpers") until the issue is resolved in clang, otherwise I'll probably just turn off our CI builds of PPC32 for the time being.
On Thu, Jul 25, 2019 at 2:30 PM Nick Desaulniers <ndesaulniers@google.com> wrote: > > On Mon, Jul 22, 2019 at 10:58 AM Segher Boessenkool > <segher@kernel.crashing.org> wrote: > > > > On Mon, Jul 22, 2019 at 10:21:07AM -0700, Nick Desaulniers wrote: > > > On Sun, Jul 21, 2019 at 11:19 PM Segher Boessenkool > > > <segher@kernel.crashing.org> wrote: > > > > On Sun, Jul 21, 2019 at 07:41:40PM -0700, Nathan Chancellor wrote: > > > > > On Sun, Jul 21, 2019 at 01:01:50PM -0500, Segher Boessenkool wrote: > > > > > > On Sun, Jul 21, 2019 at 12:58:46AM -0700, Nathan Chancellor wrote: > > > > > > > 0000017c clear_user_page: > > > > > > > 17c: 94 21 ff f0 stwu 1, -16(1) > > > > > > > 180: 38 80 00 80 li 4, 128 > > > > > > > 184: 38 63 ff e0 addi 3, 3, -32 > > > > > > > 188: 7c 89 03 a6 mtctr 4 > > > > > > > 18c: 38 81 00 0f addi 4, 1, 15 > > > > > > > 190: 8c c3 00 20 lbzu 6, 32(3) > > > > > > > 194: 98 c1 00 0f stb 6, 15(1) > > > > > > > 198: 7c 00 27 ec dcbz 0, 4 > > > > > > > 19c: 42 00 ff f4 bdnz .+65524 > > > > > > > > > > > > Uh, yeah, well, I have no idea what clang tried here, but that won't > > > > > > work. It's copying a byte from each target cache line to the stack, > > > > > > and then does clears the cache line containing that byte on the stack. > > > > > > > > > > > > I *guess* this is about "Z" and not about "%y", but you'll have to ask > > > > > > the clang people. > > > > > > > > > > > > Or it may be that they do not treat inline asm operands as lvalues > > > > > > properly? That rings some bells. Yeah that looks like it. > > > > > > > > The code is > > > > __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); > > > > > > > > so yeah it looks like clang took that *(u8 *)addr as rvalue, and > > > > stored that in stack, and then used *that* as memory. > > > > > > What's the %y modifier supposed to mean here? > > > > It prints a memory address for an indexed operand. > > > > If you write just "%0" it prints addresses that are a single register > > as "0(r3)" instead of "0,r3". Some instructions do not allow offset > > form. > > > > > addr is in the list of > > > inputs, so what's wrong with using it as an rvalue? > > > > It seems to use *(u8 *)addr as rvalue. Asm operands are lvalues. It > > matters a lot for memory operands. > > Hmm...not sure that's specified behavior. Anyways, I've filed: > https://bugs.llvm.org/show_bug.cgi?id=42762 > to see if folks more familiar with LLVM's ppc backend have some more thoughts. > > I recommend considering reverting commit 6c5875843b87 ("powerpc: > slightly improve cache helpers") until the issue is resolved in clang, > otherwise I'll probably just turn off our CI builds of PPC32 for the > time being. Started a new thread: https://lkml.org/lkml/2019/7/29/1483
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index 40ea5b3781c6..df8e4c407366 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h @@ -85,22 +85,22 @@ extern void _set_L3CR(unsigned long); static inline void dcbz(void *addr) { - __asm__ __volatile__ ("dcbz 0, %0" : : "r"(addr) : "memory"); + __asm__ __volatile__ ("dcbz %y0" : : "Z"(*(u8 *)addr) : "memory"); } static inline void dcbi(void *addr) { - __asm__ __volatile__ ("dcbi 0, %0" : : "r"(addr) : "memory"); + __asm__ __volatile__ ("dcbi %y0" : : "Z"(*(u8 *)addr) : "memory"); } static inline void dcbf(void *addr) { - __asm__ __volatile__ ("dcbf 0, %0" : : "r"(addr) : "memory"); + __asm__ __volatile__ ("dcbf %y0" : : "Z"(*(u8 *)addr) : "memory"); } static inline void dcbst(void *addr) { - __asm__ __volatile__ ("dcbst 0, %0" : : "r"(addr) : "memory"); + __asm__ __volatile__ ("dcbst %y0" : : "Z"(*(u8 *)addr) : "memory"); } #endif /* !__ASSEMBLY__ */ #endif /* __KERNEL__ */
Cache instructions (dcbz, dcbi, dcbf and dcbst) take two registers that are summed to obtain the target address. Using 'Z' constraint and '%y0' argument gives GCC the opportunity to use both registers instead of only one with the second being forced to 0. Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- arch/powerpc/include/asm/cache.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)