linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] powerpc: slightly improve cache helpers
@ 2019-05-10  9:24 Christophe Leroy
  2019-07-08  1:19 ` Michael Ellerman
  0 siblings, 1 reply; 22+ messages in thread
From: Christophe Leroy @ 2019-05-10  9:24 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	Segher Boessenkool
  Cc: linux-kernel, linuxppc-dev

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(-)

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__ */
-- 
2.13.3


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-05-10  9:24 [PATCH v2] powerpc: slightly improve cache helpers Christophe Leroy
@ 2019-07-08  1:19 ` Michael Ellerman
  2019-07-08 19:14   ` Nathan Chancellor
  0 siblings, 1 reply; 22+ messages in thread
From: Michael Ellerman @ 2019-07-08  1:19 UTC (permalink / raw)
  To: Christophe Leroy, Benjamin Herrenschmidt, Paul Mackerras,
	Segher Boessenkool
  Cc: linuxppc-dev, linux-kernel

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-08  1:19 ` Michael Ellerman
@ 2019-07-08 19:14   ` Nathan Chancellor
  2019-07-09  5:04     ` Christophe Leroy
  0 siblings, 1 reply; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-08 19:14 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Christophe Leroy, Benjamin Herrenschmidt, Paul Mackerras,
	Segher Boessenkool, linuxppc-dev, linux-kernel,
	clang-built-linux

[-- Attachment #1: Type: text/plain, Size: 841 bytes --]

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

[-- Attachment #2: bisect.log --]
[-- Type: text/plain, Size: 2679 bytes --]

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

[-- Attachment #3: build.log --]
[-- Type: text/plain, Size: 91556 bytes --]

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..

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-08 19:14   ` Nathan Chancellor
@ 2019-07-09  5:04     ` Christophe Leroy
  2019-07-09  6:49       ` Nathan Chancellor
  2019-07-09 13:35       ` [PATCH v2] powerpc: slightly improve cache helpers Segher Boessenkool
  0 siblings, 2 replies; 22+ messages in thread
From: Christophe Leroy @ 2019-07-09  5:04 UTC (permalink / raw)
  To: Nathan Chancellor, Michael Ellerman, Segher Boessenkool
  Cc: Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev,
	linux-kernel, clang-built-linux



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
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-09  5:04     ` Christophe Leroy
@ 2019-07-09  6:49       ` Nathan Chancellor
  2019-07-19  3:24         ` Nathan Chancellor
  2019-07-09 13:35       ` [PATCH v2] powerpc: slightly improve cache helpers Segher Boessenkool
  1 sibling, 1 reply; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-09  6:49 UTC (permalink / raw)
  To: Christophe Leroy
  Cc: Michael Ellerman, Segher Boessenkool, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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
> > 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-09  5:04     ` Christophe Leroy
  2019-07-09  6:49       ` Nathan Chancellor
@ 2019-07-09 13:35       ` Segher Boessenkool
  1 sibling, 0 replies; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-09 13:35 UTC (permalink / raw)
  To: Christophe Leroy
  Cc: Nathan Chancellor, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-09  6:49       ` Nathan Chancellor
@ 2019-07-19  3:24         ` Nathan Chancellor
  2019-07-19 15:23           ` Segher Boessenkool
  0 siblings, 1 reply; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-19  3:24 UTC (permalink / raw)
  To: Christophe Leroy
  Cc: Michael Ellerman, Segher Boessenkool, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-19  3:24         ` Nathan Chancellor
@ 2019-07-19 15:23           ` Segher Boessenkool
  2019-07-19 16:04             ` Nathan Chancellor
  0 siblings, 1 reply; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-19 15:23 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-19 15:23           ` Segher Boessenkool
@ 2019-07-19 16:04             ` Nathan Chancellor
  2019-07-21  7:58               ` Nathan Chancellor
  0 siblings, 1 reply; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-19 16:04 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-19 16:04             ` Nathan Chancellor
@ 2019-07-21  7:58               ` Nathan Chancellor
  2019-07-21 18:01                 ` Segher Boessenkool
  2019-07-22  0:53                 ` [PATCH] powerpc: Test broken dcbz kbuild test robot
  0 siblings, 2 replies; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-21  7:58 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

[-- Attachment #1: Type: text/plain, Size: 1874 bytes --]

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

[-- Attachment #2: 0001-powerpc-Test-broken-dcbz.patch --]
[-- Type: text/plain, Size: 2103 bytes --]

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
-- 
2.22.0


[-- Attachment #3: mem-working.txt --]
[-- Type: text/plain, Size: 22052 bytes --]


mem-working.o:	file format ELF32-ppc


Disassembly of section .text:

00000000 phys_mem_access_prot:
       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff e0                  	stwu 1, -32(1)
       c: 93 a1 00 14                  	stw 29, 20(1)
      10: 7c fd 3b 78                  	mr 29, 7
      14: 3c e0 00 00                  	lis 7, 0
      18: 38 e7 00 00                  	addi 7, 7, 0
      1c: 81 07 00 a0                  	lwz 8, 160(7)
      20: 93 c1 00 18                  	stw 30, 24(1)
      24: 28 08 00 00                  	cmplwi	8, 0
      28: 7c 7e 1b 78                  	mr 30, 3
      2c: 41 82 00 20                  	bt	2, .+32
      30: 80 7d 00 00                  	lwz 3, 0(29)
      34: 38 e1 00 08                  	addi 7, 1, 8
      38: 7d 09 03 a6                  	mtctr 8
      3c: 90 61 00 08                  	stw 3, 8(1)
      40: 7f c3 f3 78                  	mr 3, 30
      44: 4e 80 04 21                  	bctrl
      48: 48 00 00 28                  	b .+40
      4c: 7c a3 2b 78                  	mr 3, 5
      50: 48 00 00 01                  	bl .+0
      54: 28 03 00 00                  	cmplwi	3, 0
      58: 80 7d 00 00                  	lwz 3, 0(29)
      5c: 40 82 00 10                  	bf	2, .+16
      60: 54 63 06 26                  	rlwinm 3, 3, 0, 24, 19
      64: 60 63 05 00                  	ori 3, 3, 1280
      68: 90 7d 00 00                  	stw 3, 0(29)
      6c: 90 7e 00 00                  	stw 3, 0(30)
      70: 83 c1 00 18                  	lwz 30, 24(1)
      74: 83 a1 00 14                  	lwz 29, 20(1)
      78: 80 01 00 24                  	lwz 0, 36(1)
      7c: 38 21 00 20                  	addi 1, 1, 32
      80: 7c 08 03 a6                  	mtlr 0
      84: 4e 80 00 20                  	blr

00000088 free_initmem:
      88: 7c 08 02 a6                  	mflr 0
      8c: 90 01 00 04                  	stw 0, 4(1)
      90: 94 21 ff f0                  	stwu 1, -16(1)
      94: 3c 60 00 00                  	lis 3, 0
      98: 3c 80 00 00                  	lis 4, 0
      9c: 38 63 00 00                  	addi 3, 3, 0
      a0: 38 84 00 00                  	addi 4, 4, 0
      a4: 90 83 00 60                  	stw 4, 96(3)
      a8: 48 00 00 01                  	bl .+0
      ac: 3c 60 00 00                  	lis 3, 0
      b0: 38 80 00 01                  	li 4, 1
      b4: 98 83 00 00                  	stb 4, 0(3)
      b8: 3c 60 00 00                  	lis 3, 0
      bc: 3c 80 00 00                  	lis 4, 0
      c0: 3c a0 00 00                  	lis 5, 0
      c4: 38 63 00 00                  	addi 3, 3, 0
      c8: 38 84 00 00                  	addi 4, 4, 0
      cc: 38 c5 00 00                  	addi 6, 5, 0
      d0: 38 a0 00 cc                  	li 5, 204
      d4: 48 00 00 01                  	bl .+0
      d8: 80 01 00 14                  	lwz 0, 20(1)
      dc: 38 21 00 10                  	addi 1, 1, 16
      e0: 7c 08 03 a6                  	mtlr 0
      e4: 4e 80 00 20                  	blr

000000e8 flush_dcache_page:
      e8: 80 83 00 00                  	lwz 4, 0(3)
      ec: 70 84 08 00                  	andi. 4, 4, 2048
      f0: 4d 82 00 20                  	bclr	12, 2
      f4: 38 80 08 00                  	li 4, 2048
      f8: 7c a0 18 28                  	lwarx 5, 0, 3
      fc: 7c a5 20 78                  	andc 5, 5, 4
     100: 7c a0 19 2d                  	stwcx. 5, 0, 3
     104: 40 a2 ff f4                  	bc 5, 2, .+65524
     108: 4e 80 00 20                  	blr

0000010c flush_dcache_icache_page:
     10c: 7c 08 02 a6                  	mflr 0
     110: 90 01 00 04                  	stw 0, 4(1)
     114: 94 21 ff f0                  	stwu 1, -16(1)
     118: 80 82 00 00                  	lwz 4, 0(2)
     11c: 38 84 00 01                  	addi 4, 4, 1
     120: 90 82 00 00                  	stw 4, 0(2)
     124: 80 82 0a e4                  	lwz 4, 2788(2)
     128: 38 84 00 01                  	addi 4, 4, 1
     12c: 90 82 0a e4                  	stw 4, 2788(2)
     130: 3c 80 00 00                  	lis 4, 0
     134: 80 84 00 00                  	lwz 4, 0(4)
     138: 7c 64 18 50                  	subf 3, 4, 3
     13c: 3c 80 cc cc                  	lis 4, -13108
     140: 54 63 e8 fe                  	srwi 3, 3, 3
     144: 60 84 d0 00                  	ori 4, 4, 53248
     148: 7c 63 21 d6                  	mullw 3, 3, 4
     14c: 3c 63 c0 00                  	addis 3, 3, -16384
     150: 48 00 00 01                  	bl .+0
     154: 80 62 0a e4                  	lwz 3, 2788(2)
     158: 38 63 ff ff                  	addi 3, 3, -1
     15c: 90 62 0a e4                  	stw 3, 2788(2)
     160: 80 62 00 00                  	lwz 3, 0(2)
     164: 38 63 ff ff                  	addi 3, 3, -1
     168: 90 62 00 00                  	stw 3, 0(2)
     16c: 80 01 00 14                  	lwz 0, 20(1)
     170: 38 21 00 10                  	addi 1, 1, 16
     174: 7c 08 03 a6                  	mtlr 0
     178: 4e 80 00 20                  	blr

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
     190: 80 65 00 00                  	lwz 3, 0(5)
     194: 70 63 08 00                  	andi. 3, 3, 2048
     198: 4d 82 00 20                  	bclr	12, 2
     19c: 38 60 08 00                  	li 3, 2048
     1a0: 7c 80 28 28                  	lwarx 4, 0, 5
     1a4: 7c 84 18 78                  	andc 4, 4, 3
     1a8: 7c 80 29 2d                  	stwcx. 4, 0, 5
     1ac: 40 a2 ff f4                  	bc 5, 2, .+65524
     1b0: 4e 80 00 20                  	blr

000001b4 copy_user_page:
     1b4: 7c 08 02 a6                  	mflr 0
     1b8: 90 01 00 04                  	stw 0, 4(1)
     1bc: 94 21 ff f0                  	stwu 1, -16(1)
     1c0: 93 c1 00 08                  	stw 30, 8(1)
     1c4: 7c de 33 78                  	mr 30, 6
     1c8: 48 00 00 01                  	bl .+0
     1cc: 80 7e 00 00                  	lwz 3, 0(30)
     1d0: 70 63 08 00                  	andi. 3, 3, 2048
     1d4: 41 82 00 18                  	bt	2, .+24
     1d8: 38 60 08 00                  	li 3, 2048
     1dc: 7c 80 f0 28                  	lwarx 4, 0, 30
     1e0: 7c 84 18 78                  	andc 4, 4, 3
     1e4: 7c 80 f1 2d                  	stwcx. 4, 0, 30
     1e8: 40 a2 ff f4                  	bc 5, 2, .+65524
     1ec: 83 c1 00 08                  	lwz 30, 8(1)
     1f0: 80 01 00 14                  	lwz 0, 20(1)
     1f4: 38 21 00 10                  	addi 1, 1, 16
     1f8: 7c 08 03 a6                  	mtlr 0
     1fc: 4e 80 00 20                  	blr

00000200 flush_icache_user_range:
     200: 7c 08 02 a6                  	mflr 0
     204: 90 01 00 04                  	stw 0, 4(1)
     208: 94 21 ff e0                  	stwu 1, -32(1)
     20c: 3c 60 00 00                  	lis 3, 0
     210: 93 81 00 10                  	stw 28, 16(1)
     214: 7c 9c 23 78                  	mr 28, 4
     218: 38 63 00 00                  	addi 3, 3, 0
     21c: 38 80 00 53                  	li 4, 83
     220: 93 a1 00 14                  	stw 29, 20(1)
     224: 7c bd 2b 78                  	mr 29, 5
     228: 38 a0 00 00                  	li 5, 0
     22c: 93 c1 00 18                  	stw 30, 24(1)
     230: 7c de 33 78                  	mr 30, 6
     234: 48 00 00 01                  	bl .+0
     238: 3c 60 00 00                  	lis 3, 0
     23c: 3c 80 cc cc                  	lis 4, -13108
     240: 80 63 00 00                  	lwz 3, 0(3)
     244: 60 84 d0 00                  	ori 4, 4, 53248
     248: 7c 63 e0 50                  	subf 3, 3, 28
     24c: 54 63 e8 fe                  	srwi 3, 3, 3
     250: 7c 63 21 d6                  	mullw 3, 3, 4
     254: 57 a4 05 3e                  	clrlwi	4, 29, 20
     258: 50 64 00 26                  	rlwimi 4, 3, 0, 0, 19
     25c: 3c 64 c0 00                  	addis 3, 4, -16384
     260: 7c 83 f2 14                  	add 4, 3, 30
     264: 48 00 00 01                  	bl .+0
     268: 83 c1 00 18                  	lwz 30, 24(1)
     26c: 83 a1 00 14                  	lwz 29, 20(1)
     270: 83 81 00 10                  	lwz 28, 16(1)
     274: 80 01 00 24                  	lwz 0, 36(1)
     278: 38 21 00 20                  	addi 1, 1, 32
     27c: 7c 08 03 a6                  	mtlr 0
     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 0
     28c: 90 01 00 04                  	stw 0, 4(1)
     290: 94 21 ff f0                  	stwu 1, -16(1)
     294: 93 c1 00 08                  	stw 30, 8(1)
     298: 7c 7e 1b 78                  	mr 30, 3
     29c: 54 63 65 3e                  	srwi 3, 3, 20
     2a0: 57 c4 60 26                  	slwi 4, 30, 12
     2a4: 48 00 00 01                  	bl .+0
     2a8: 70 63 00 01                  	andi. 3, 3, 1
     2ac: 38 60 00 00                  	li 3, 0
     2b0: 41 81 00 14                  	bt	1, .+20
     2b4: 7f c3 f3 78                  	mr 3, 30
     2b8: 48 00 00 01                  	bl .+0
     2bc: 7c 63 00 34                  	cntlzw	3, 3
     2c0: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 31
     2c4: 83 c1 00 08                  	lwz 30, 8(1)
     2c8: 80 01 00 14                  	lwz 0, 20(1)
     2cc: 38 21 00 10                  	addi 1, 1, 16
     2d0: 7c 08 03 a6                  	mtlr 0
     2d4: 4e 80 00 20                  	blr

Disassembly of section .init.text:

00000000 mem_topology_setup:
       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff f0                  	stwu 1, -16(1)
       c: 48 00 00 01                  	bl .+0
      10: 54 84 a0 3e                  	rotlwi	4, 4, 20
      14: 3c a0 00 00                  	lis 5, 0
      18: 50 64 a0 16                  	rlwimi 4, 3, 20, 0, 11
      1c: 3c 60 00 00                  	lis 3, 0
      20: 90 85 00 00                  	stw 4, 0(5)
      24: 38 a0 ff ff                  	li 5, -1
      28: 90 83 00 00                  	stw 4, 0(3)
      2c: 3c 60 00 00                  	lis 3, 0
      30: 38 80 00 00                  	li 4, 0
      34: 38 c0 ff ff                  	li 6, -1
      38: 39 00 00 00                  	li 8, 0
      3c: 90 83 00 00                  	stw 4, 0(3)
      40: 3c 60 00 00                  	lis 3, 0
      44: 38 80 00 00                  	li 4, 0
      48: 38 63 00 00                  	addi 3, 3, 0
      4c: 38 e3 00 10                  	addi 7, 3, 16
      50: 38 60 00 00                  	li 3, 0
      54: 48 00 00 01                  	bl .+0
      58: 80 01 00 14                  	lwz 0, 20(1)
      5c: 38 21 00 10                  	addi 1, 1, 16
      60: 7c 08 03 a6                  	mtlr 0
      64: 4e 80 00 20                  	blr

00000068 initmem_init:
      68: 7c 08 02 a6                  	mflr 0
      6c: 90 01 00 04                  	stw 0, 4(1)
      70: 94 21 ff f0                  	stwu 1, -16(1)
      74: 38 60 00 00                  	li 3, 0
      78: 48 00 00 01                  	bl .+0
      7c: 80 01 00 14                  	lwz 0, 20(1)
      80: 38 21 00 10                  	addi 1, 1, 16
      84: 7c 08 03 a6                  	mtlr 0
      88: 4e 80 00 20                  	blr

0000008c paging_init:
      8c: 7c 08 02 a6                  	mflr 0
      90: 90 01 00 04                  	stw 0, 4(1)
      94: 94 21 ff d0                  	stwu 1, -48(1)
      98: 93 21 00 14                  	stw 25, 20(1)
      9c: 93 41 00 18                  	stw 26, 24(1)
      a0: 93 61 00 1c                  	stw 27, 28(1)
      a4: 93 81 00 20                  	stw 28, 32(1)
      a8: 93 a1 00 24                  	stw 29, 36(1)
      ac: 93 c1 00 28                  	stw 30, 40(1)
      b0: 48 00 00 01                  	bl .+0
      b4: 7c 7e 1b 78                  	mr 30, 3
      b8: 7c 9d 23 78                  	mr 29, 4
      bc: 3f 40 ff fe                  	lis 26, -2
      c0: 48 00 00 01                  	bl .+0
      c4: 7c 7c 1b 78                  	mr 28, 3
      c8: 7c 9b 23 78                  	mr 27, 4
      cc: 3b 20 00 00                  	li 25, 0
      d0: 38 e1 00 08                  	addi 7, 1, 8
      d4: 7f 43 d3 78                  	mr 3, 26
      d8: 93 21 00 10                  	stw 25, 16(1)
      dc: 38 a0 00 00                  	li 5, 0
      e0: 38 c0 00 00                  	li 6, 0
      e4: 93 21 00 08                  	stw 25, 8(1)
      e8: 48 00 00 01                  	bl .+0
      ec: 3b 5a 10 00                  	addi 26, 26, 4096
      f0: 2c 1a f0 00                  	cmpwi	26, -4096
      f4: 40 82 ff dc                  	bf	2, .+65500
      f8: 3c 60 00 00                  	lis 3, 0
      fc: 4c c6 31 82                  	crclr	6
     100: 7f 85 e3 78                  	mr 5, 28
     104: 38 63 00 00                  	addi 3, 3, 0
     108: 7f 66 db 78                  	mr 6, 27
     10c: 7f c7 f3 78                  	mr 7, 30
     110: 7f a8 eb 78                  	mr 8, 29
     114: 48 00 00 01                  	bl .+0
     118: 7c 7d d8 10                  	subfc 3, 29, 27
     11c: 4c c6 31 82                  	crclr	6
     120: 7c be e1 10                  	subfe 5, 30, 28
     124: 54 64 60 3e                  	rotlwi	4, 3, 12
     128: 3c 60 00 00                  	lis 3, 0
     12c: 50 a4 60 26                  	rlwimi 4, 5, 12, 0, 19
     130: 38 63 00 00                  	addi 3, 3, 0
     134: 48 00 00 01                  	bl .+0
     138: 3c 60 00 00                  	lis 3, 0
     13c: 80 83 00 00                  	lwz 4, 0(3)
     140: 3c 60 00 00                  	lis 3, 0
     144: 94 83 00 00                  	stwu 4, 0(3)
     148: 48 00 00 01                  	bl .+0
     14c: 83 c1 00 28                  	lwz 30, 40(1)
     150: 83 a1 00 24                  	lwz 29, 36(1)
     154: 83 81 00 20                  	lwz 28, 32(1)
     158: 83 61 00 1c                  	lwz 27, 28(1)
     15c: 83 41 00 18                  	lwz 26, 24(1)
     160: 83 21 00 14                  	lwz 25, 20(1)
     164: 80 01 00 34                  	lwz 0, 52(1)
     168: 38 21 00 30                  	addi 1, 1, 48
     16c: 7c 08 03 a6                  	mtlr 0
     170: 4e 80 00 20                  	blr

00000174 mem_init:
     174: 7c 08 02 a6                  	mflr 0
     178: 90 01 00 04                  	stw 0, 4(1)
     17c: 94 21 ff e0                  	stwu 1, -32(1)
     180: 3c 60 00 00                  	lis 3, 0
     184: 3c 80 00 00                  	lis 4, 0
     188: 93 81 00 10                  	stw 28, 16(1)
     18c: 3f 80 00 00                  	lis 28, 0
     190: 80 63 00 00                  	lwz 3, 0(3)
     194: 80 84 00 00                  	lwz 4, 0(4)
     198: 54 63 60 26                  	slwi 3, 3, 12
     19c: 3c 63 c0 00                  	addis 3, 3, -16384
     1a0: 90 7c 00 00                  	stw 3, 0(28)
     1a4: 3c 60 00 00                  	lis 3, 0
     1a8: 93 a1 00 14                  	stw 29, 20(1)
     1ac: 93 c1 00 18                  	stw 30, 24(1)
     1b0: 90 83 00 00                  	stw 4, 0(3)
     1b4: 48 00 00 01                  	bl .+0
     1b8: 38 60 00 00                  	li 3, 0
     1bc: 48 00 00 01                  	bl .+0
     1c0: 3c 60 00 00                  	lis 3, 0
     1c4: 4c c6 31 82                  	crclr	6
     1c8: 38 63 00 00                  	addi 3, 3, 0
     1cc: 48 00 00 01                  	bl .+0
     1d0: 3c 80 ff fd                  	lis 4, -3
     1d4: 3c 60 00 00                  	lis 3, 0
     1d8: 4c c6 31 82                  	crclr	6
     1dc: 60 9e f0 00                  	ori 30, 4, 61440
     1e0: 38 63 00 00                  	addi 3, 3, 0
     1e4: 7f c4 f3 78                  	mr 4, 30
     1e8: 38 a0 f0 00                  	li 5, -4096
     1ec: 48 00 00 01                  	bl .+0
     1f0: 3c 80 ff dd                  	lis 4, -35
     1f4: 3c 60 00 00                  	lis 3, 0
     1f8: 4c c6 31 82                  	crclr	6
     1fc: 60 9d f0 00                  	ori 29, 4, 61440
     200: 38 63 00 00                  	addi 3, 3, 0
     204: 7f a4 eb 78                  	mr 4, 29
     208: 7f c5 f3 78                  	mr 5, 30
     20c: 48 00 00 01                  	bl .+0
     210: 3f c0 00 00                  	lis 30, 0
     214: 3c 60 00 00                  	lis 3, 0
     218: 4c c6 31 82                  	crclr	6
     21c: 80 9e 00 00                  	lwz 4, 0(30)
     220: 38 63 00 00                  	addi 3, 3, 0
     224: 7f a5 eb 78                  	mr 5, 29
     228: 48 00 00 01                  	bl .+0
     22c: 80 7c 00 00                  	lwz 3, 0(28)
     230: 3c 80 01 00                  	lis 4, 256
     234: 4c c6 31 82                  	crclr	6
     238: 38 63 ff ff                  	addi 3, 3, -1
     23c: 80 be 00 00                  	lwz 5, 0(30)
     240: 3c 63 10 00                  	addis 3, 3, 4096
     244: 54 63 00 06                  	rlwinm 3, 3, 0, 0, 3
     248: 50 64 02 0c                  	rlwimi 4, 3, 0, 8, 6
     24c: 3c 60 00 00                  	lis 3, 0
     250: 38 63 00 00                  	addi 3, 3, 0
     254: 48 00 00 01                  	bl .+0
     258: 83 c1 00 18                  	lwz 30, 24(1)
     25c: 83 a1 00 14                  	lwz 29, 20(1)
     260: 83 81 00 10                  	lwz 28, 16(1)
     264: 80 01 00 24                  	lwz 0, 36(1)
     268: 38 21 00 20                  	addi 1, 1, 32
     26c: 7c 08 03 a6                  	mtlr 0
     270: 4e 80 00 20                  	blr

00000274 add_system_ram_resources:
     274: 7c 08 02 a6                  	mflr 0
     278: 90 01 00 04                  	stw 0, 4(1)
     27c: 94 21 ff c0                  	stwu 1, -64(1)
     280: 3c 60 00 00                  	lis 3, 0
     284: 93 a1 00 34                  	stw 29, 52(1)
     288: 3b a3 00 00                  	addi 29, 3, 0
     28c: 80 7d 00 10                  	lwz 3, 16(29)
     290: 93 81 00 30                  	stw 28, 48(1)
     294: 1c 63 00 18                  	mulli 3, 3, 24
     298: 83 9d 00 20                  	lwz 28, 32(29)
     29c: 7c 7c 1a 14                  	add 3, 28, 3
     2a0: 92 a1 00 14                  	stw 21, 20(1)
     2a4: 7c 1c 18 40                  	cmplw	28, 3
     2a8: 92 c1 00 18                  	stw 22, 24(1)
     2ac: 92 e1 00 1c                  	stw 23, 28(1)
     2b0: 93 01 00 20                  	stw 24, 32(1)
     2b4: 93 21 00 24                  	stw 25, 36(1)
     2b8: 93 41 00 28                  	stw 26, 40(1)
     2bc: 93 61 00 2c                  	stw 27, 44(1)
     2c0: 93 c1 00 38                  	stw 30, 56(1)
     2c4: 40 80 00 ac                  	bf	0, .+172
     2c8: 3c 60 00 00                  	lis 3, 0
     2cc: 3c 80 00 00                  	lis 4, 0
     2d0: 3c a0 81 00                  	lis 5, -32512
     2d4: 3c c0 00 00                  	lis 6, 0
     2d8: 3b 7c ff e8                  	addi 27, 28, -24
     2dc: 3b 40 00 00                  	li 26, 0
     2e0: 3b 23 00 00                  	addi 25, 3, 0
     2e4: 3b 04 00 00                  	addi 24, 4, 0
     2e8: 60 b7 02 00                  	ori 23, 5, 512
     2ec: 3b c6 00 00                  	addi 30, 6, 0
     2f0: 80 79 00 18                  	lwz 3, 24(25)
     2f4: 38 80 0d c0                  	li 4, 3520
     2f8: 38 a0 00 28                  	li 5, 40
     2fc: 82 db 00 1c                  	lwz 22, 28(27)
     300: 82 bb 00 24                  	lwz 21, 36(27)
     304: 48 00 00 01                  	bl .+0
     308: 7c 64 1b 78                  	mr 4, 3
     30c: 7c 63 00 34                  	cntlzw	3, 3
     310: 28 04 00 00                  	cmplwi	4, 0
     314: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 31
     318: 0f 03 00 00                  	twnei	3, 0
     31c: 41 82 00 34                  	bt	2, .+52
     320: 7c 76 aa 14                  	add 3, 22, 21
     324: 93 04 00 10                  	stw 24, 16(4)
     328: 38 63 ff ff                  	addi 3, 3, -1
     32c: 90 64 00 0c                  	stw 3, 12(4)
     330: 7f c3 f3 78                  	mr 3, 30
     334: 93 44 00 00                  	stw 26, 0(4)
     338: 92 c4 00 04                  	stw 22, 4(4)
     33c: 93 44 00 08                  	stw 26, 8(4)
     340: 92 e4 00 14                  	stw 23, 20(4)
     344: 48 00 00 01                  	bl .+0
     348: 54 63 0f fe                  	srwi 3, 3, 31
     34c: 0f 03 00 00                  	twnei	3, 0
     350: 80 7d 00 10                  	lwz 3, 16(29)
     354: 3b 9c 00 18                  	addi 28, 28, 24
     358: 3b 7b 00 18                  	addi 27, 27, 24
     35c: 80 9d 00 20                  	lwz 4, 32(29)
     360: 1c 63 00 18                  	mulli 3, 3, 24
     364: 7c 64 1a 14                  	add 3, 4, 3
     368: 7c 1c 18 40                  	cmplw	28, 3
     36c: 41 80 ff 84                  	bt	0, .+65412
     370: 38 60 00 00                  	li 3, 0
     374: 83 c1 00 38                  	lwz 30, 56(1)
     378: 83 a1 00 34                  	lwz 29, 52(1)
     37c: 83 81 00 30                  	lwz 28, 48(1)
     380: 83 61 00 2c                  	lwz 27, 44(1)
     384: 83 41 00 28                  	lwz 26, 40(1)
     388: 83 21 00 24                  	lwz 25, 36(1)
     38c: 83 01 00 20                  	lwz 24, 32(1)
     390: 82 e1 00 1c                  	lwz 23, 28(1)
     394: 82 c1 00 18                  	lwz 22, 24(1)
     398: 82 a1 00 14                  	lwz 21, 20(1)
     39c: 80 01 00 44                  	lwz 0, 68(1)
     3a0: 38 21 00 40                  	addi 1, 1, 64
     3a4: 7c 08 03 a6                  	mtlr 0
     3a8: 4e 80 00 20                  	blr

[-- Attachment #4: mem-broken.txt --]
[-- Type: text/plain, Size: 22322 bytes --]


mem-broken.o:	file format ELF32-ppc


Disassembly of section .text:

00000000 phys_mem_access_prot:
       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff e0                  	stwu 1, -32(1)
       c: 93 a1 00 14                  	stw 29, 20(1)
      10: 7c fd 3b 78                  	mr 29, 7
      14: 3c e0 00 00                  	lis 7, 0
      18: 38 e7 00 00                  	addi 7, 7, 0
      1c: 81 07 00 a0                  	lwz 8, 160(7)
      20: 93 c1 00 18                  	stw 30, 24(1)
      24: 28 08 00 00                  	cmplwi	8, 0
      28: 7c 7e 1b 78                  	mr 30, 3
      2c: 41 82 00 20                  	bt	2, .+32
      30: 80 7d 00 00                  	lwz 3, 0(29)
      34: 38 e1 00 08                  	addi 7, 1, 8
      38: 7d 09 03 a6                  	mtctr 8
      3c: 90 61 00 08                  	stw 3, 8(1)
      40: 7f c3 f3 78                  	mr 3, 30
      44: 4e 80 04 21                  	bctrl
      48: 48 00 00 28                  	b .+40
      4c: 7c a3 2b 78                  	mr 3, 5
      50: 48 00 00 01                  	bl .+0
      54: 28 03 00 00                  	cmplwi	3, 0
      58: 80 7d 00 00                  	lwz 3, 0(29)
      5c: 40 82 00 10                  	bf	2, .+16
      60: 54 63 06 26                  	rlwinm 3, 3, 0, 24, 19
      64: 60 63 05 00                  	ori 3, 3, 1280
      68: 90 7d 00 00                  	stw 3, 0(29)
      6c: 90 7e 00 00                  	stw 3, 0(30)
      70: 83 c1 00 18                  	lwz 30, 24(1)
      74: 83 a1 00 14                  	lwz 29, 20(1)
      78: 80 01 00 24                  	lwz 0, 36(1)
      7c: 38 21 00 20                  	addi 1, 1, 32
      80: 7c 08 03 a6                  	mtlr 0
      84: 4e 80 00 20                  	blr

00000088 free_initmem:
      88: 7c 08 02 a6                  	mflr 0
      8c: 90 01 00 04                  	stw 0, 4(1)
      90: 94 21 ff f0                  	stwu 1, -16(1)
      94: 3c 60 00 00                  	lis 3, 0
      98: 3c 80 00 00                  	lis 4, 0
      9c: 38 63 00 00                  	addi 3, 3, 0
      a0: 38 84 00 00                  	addi 4, 4, 0
      a4: 90 83 00 60                  	stw 4, 96(3)
      a8: 48 00 00 01                  	bl .+0
      ac: 3c 60 00 00                  	lis 3, 0
      b0: 38 80 00 01                  	li 4, 1
      b4: 98 83 00 00                  	stb 4, 0(3)
      b8: 3c 60 00 00                  	lis 3, 0
      bc: 3c 80 00 00                  	lis 4, 0
      c0: 3c a0 00 00                  	lis 5, 0
      c4: 38 63 00 00                  	addi 3, 3, 0
      c8: 38 84 00 00                  	addi 4, 4, 0
      cc: 38 c5 00 00                  	addi 6, 5, 0
      d0: 38 a0 00 cc                  	li 5, 204
      d4: 48 00 00 01                  	bl .+0
      d8: 80 01 00 14                  	lwz 0, 20(1)
      dc: 38 21 00 10                  	addi 1, 1, 16
      e0: 7c 08 03 a6                  	mtlr 0
      e4: 4e 80 00 20                  	blr

000000e8 flush_dcache_page:
      e8: 80 83 00 00                  	lwz 4, 0(3)
      ec: 70 84 08 00                  	andi. 4, 4, 2048
      f0: 4d 82 00 20                  	bclr	12, 2
      f4: 38 80 08 00                  	li 4, 2048
      f8: 7c a0 18 28                  	lwarx 5, 0, 3
      fc: 7c a5 20 78                  	andc 5, 5, 4
     100: 7c a0 19 2d                  	stwcx. 5, 0, 3
     104: 40 a2 ff f4                  	bc 5, 2, .+65524
     108: 4e 80 00 20                  	blr

0000010c flush_dcache_icache_page:
     10c: 7c 08 02 a6                  	mflr 0
     110: 90 01 00 04                  	stw 0, 4(1)
     114: 94 21 ff f0                  	stwu 1, -16(1)
     118: 80 82 00 00                  	lwz 4, 0(2)
     11c: 38 84 00 01                  	addi 4, 4, 1
     120: 90 82 00 00                  	stw 4, 0(2)
     124: 80 82 0a e4                  	lwz 4, 2788(2)
     128: 38 84 00 01                  	addi 4, 4, 1
     12c: 90 82 0a e4                  	stw 4, 2788(2)
     130: 3c 80 00 00                  	lis 4, 0
     134: 80 84 00 00                  	lwz 4, 0(4)
     138: 7c 64 18 50                  	subf 3, 4, 3
     13c: 3c 80 cc cc                  	lis 4, -13108
     140: 54 63 e8 fe                  	srwi 3, 3, 3
     144: 60 84 d0 00                  	ori 4, 4, 53248
     148: 7c 63 21 d6                  	mullw 3, 3, 4
     14c: 3c 63 c0 00                  	addis 3, 3, -16384
     150: 48 00 00 01                  	bl .+0
     154: 80 62 0a e4                  	lwz 3, 2788(2)
     158: 38 63 ff ff                  	addi 3, 3, -1
     15c: 90 62 0a e4                  	stw 3, 2788(2)
     160: 80 62 00 00                  	lwz 3, 0(2)
     164: 38 63 ff ff                  	addi 3, 3, -1
     168: 90 62 00 00                  	stw 3, 0(2)
     16c: 80 01 00 14                  	lwz 0, 20(1)
     170: 38 21 00 10                  	addi 1, 1, 16
     174: 7c 08 03 a6                  	mtlr 0
     178: 4e 80 00 20                  	blr

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
     1a0: 80 65 00 00                  	lwz 3, 0(5)
     1a4: 70 63 08 00                  	andi. 3, 3, 2048
     1a8: 41 82 00 18                  	bt	2, .+24
     1ac: 38 60 08 00                  	li 3, 2048
     1b0: 7c 80 28 28                  	lwarx 4, 0, 5
     1b4: 7c 84 18 78                  	andc 4, 4, 3
     1b8: 7c 80 29 2d                  	stwcx. 4, 0, 5
     1bc: 40 a2 ff f4                  	bc 5, 2, .+65524
     1c0: 38 21 00 10                  	addi 1, 1, 16
     1c4: 4e 80 00 20                  	blr

000001c8 copy_user_page:
     1c8: 7c 08 02 a6                  	mflr 0
     1cc: 90 01 00 04                  	stw 0, 4(1)
     1d0: 94 21 ff f0                  	stwu 1, -16(1)
     1d4: 93 c1 00 08                  	stw 30, 8(1)
     1d8: 7c de 33 78                  	mr 30, 6
     1dc: 48 00 00 01                  	bl .+0
     1e0: 80 7e 00 00                  	lwz 3, 0(30)
     1e4: 70 63 08 00                  	andi. 3, 3, 2048
     1e8: 41 82 00 18                  	bt	2, .+24
     1ec: 38 60 08 00                  	li 3, 2048
     1f0: 7c 80 f0 28                  	lwarx 4, 0, 30
     1f4: 7c 84 18 78                  	andc 4, 4, 3
     1f8: 7c 80 f1 2d                  	stwcx. 4, 0, 30
     1fc: 40 a2 ff f4                  	bc 5, 2, .+65524
     200: 83 c1 00 08                  	lwz 30, 8(1)
     204: 80 01 00 14                  	lwz 0, 20(1)
     208: 38 21 00 10                  	addi 1, 1, 16
     20c: 7c 08 03 a6                  	mtlr 0
     210: 4e 80 00 20                  	blr

00000214 flush_icache_user_range:
     214: 7c 08 02 a6                  	mflr 0
     218: 90 01 00 04                  	stw 0, 4(1)
     21c: 94 21 ff e0                  	stwu 1, -32(1)
     220: 3c 60 00 00                  	lis 3, 0
     224: 93 81 00 10                  	stw 28, 16(1)
     228: 7c 9c 23 78                  	mr 28, 4
     22c: 38 63 00 00                  	addi 3, 3, 0
     230: 38 80 00 53                  	li 4, 83
     234: 93 a1 00 14                  	stw 29, 20(1)
     238: 7c bd 2b 78                  	mr 29, 5
     23c: 38 a0 00 00                  	li 5, 0
     240: 93 c1 00 18                  	stw 30, 24(1)
     244: 7c de 33 78                  	mr 30, 6
     248: 48 00 00 01                  	bl .+0
     24c: 3c 60 00 00                  	lis 3, 0
     250: 3c 80 cc cc                  	lis 4, -13108
     254: 80 63 00 00                  	lwz 3, 0(3)
     258: 60 84 d0 00                  	ori 4, 4, 53248
     25c: 7c 63 e0 50                  	subf 3, 3, 28
     260: 54 63 e8 fe                  	srwi 3, 3, 3
     264: 7c 63 21 d6                  	mullw 3, 3, 4
     268: 57 a4 05 3e                  	clrlwi	4, 29, 20
     26c: 50 64 00 26                  	rlwimi 4, 3, 0, 0, 19
     270: 3c 64 c0 00                  	addis 3, 4, -16384
     274: 7c 83 f2 14                  	add 4, 3, 30
     278: 48 00 00 01                  	bl .+0
     27c: 83 c1 00 18                  	lwz 30, 24(1)
     280: 83 a1 00 14                  	lwz 29, 20(1)
     284: 83 81 00 10                  	lwz 28, 16(1)
     288: 80 01 00 24                  	lwz 0, 36(1)
     28c: 38 21 00 20                  	addi 1, 1, 32
     290: 7c 08 03 a6                  	mtlr 0
     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 0
     2a0: 90 01 00 04                  	stw 0, 4(1)
     2a4: 94 21 ff f0                  	stwu 1, -16(1)
     2a8: 93 c1 00 08                  	stw 30, 8(1)
     2ac: 7c 7e 1b 78                  	mr 30, 3
     2b0: 54 63 65 3e                  	srwi 3, 3, 20
     2b4: 57 c4 60 26                  	slwi 4, 30, 12
     2b8: 48 00 00 01                  	bl .+0
     2bc: 70 63 00 01                  	andi. 3, 3, 1
     2c0: 38 60 00 00                  	li 3, 0
     2c4: 41 81 00 14                  	bt	1, .+20
     2c8: 7f c3 f3 78                  	mr 3, 30
     2cc: 48 00 00 01                  	bl .+0
     2d0: 7c 63 00 34                  	cntlzw	3, 3
     2d4: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 31
     2d8: 83 c1 00 08                  	lwz 30, 8(1)
     2dc: 80 01 00 14                  	lwz 0, 20(1)
     2e0: 38 21 00 10                  	addi 1, 1, 16
     2e4: 7c 08 03 a6                  	mtlr 0
     2e8: 4e 80 00 20                  	blr

Disassembly of section .init.text:

00000000 mem_topology_setup:
       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff f0                  	stwu 1, -16(1)
       c: 48 00 00 01                  	bl .+0
      10: 54 84 a0 3e                  	rotlwi	4, 4, 20
      14: 3c a0 00 00                  	lis 5, 0
      18: 50 64 a0 16                  	rlwimi 4, 3, 20, 0, 11
      1c: 3c 60 00 00                  	lis 3, 0
      20: 90 85 00 00                  	stw 4, 0(5)
      24: 38 a0 ff ff                  	li 5, -1
      28: 90 83 00 00                  	stw 4, 0(3)
      2c: 3c 60 00 00                  	lis 3, 0
      30: 38 80 00 00                  	li 4, 0
      34: 38 c0 ff ff                  	li 6, -1
      38: 39 00 00 00                  	li 8, 0
      3c: 90 83 00 00                  	stw 4, 0(3)
      40: 3c 60 00 00                  	lis 3, 0
      44: 38 80 00 00                  	li 4, 0
      48: 38 63 00 00                  	addi 3, 3, 0
      4c: 38 e3 00 10                  	addi 7, 3, 16
      50: 38 60 00 00                  	li 3, 0
      54: 48 00 00 01                  	bl .+0
      58: 80 01 00 14                  	lwz 0, 20(1)
      5c: 38 21 00 10                  	addi 1, 1, 16
      60: 7c 08 03 a6                  	mtlr 0
      64: 4e 80 00 20                  	blr

00000068 initmem_init:
      68: 7c 08 02 a6                  	mflr 0
      6c: 90 01 00 04                  	stw 0, 4(1)
      70: 94 21 ff f0                  	stwu 1, -16(1)
      74: 38 60 00 00                  	li 3, 0
      78: 48 00 00 01                  	bl .+0
      7c: 80 01 00 14                  	lwz 0, 20(1)
      80: 38 21 00 10                  	addi 1, 1, 16
      84: 7c 08 03 a6                  	mtlr 0
      88: 4e 80 00 20                  	blr

0000008c paging_init:
      8c: 7c 08 02 a6                  	mflr 0
      90: 90 01 00 04                  	stw 0, 4(1)
      94: 94 21 ff d0                  	stwu 1, -48(1)
      98: 93 21 00 14                  	stw 25, 20(1)
      9c: 93 41 00 18                  	stw 26, 24(1)
      a0: 93 61 00 1c                  	stw 27, 28(1)
      a4: 93 81 00 20                  	stw 28, 32(1)
      a8: 93 a1 00 24                  	stw 29, 36(1)
      ac: 93 c1 00 28                  	stw 30, 40(1)
      b0: 48 00 00 01                  	bl .+0
      b4: 7c 7e 1b 78                  	mr 30, 3
      b8: 7c 9d 23 78                  	mr 29, 4
      bc: 3f 40 ff fe                  	lis 26, -2
      c0: 48 00 00 01                  	bl .+0
      c4: 7c 7c 1b 78                  	mr 28, 3
      c8: 7c 9b 23 78                  	mr 27, 4
      cc: 3b 20 00 00                  	li 25, 0
      d0: 38 e1 00 08                  	addi 7, 1, 8
      d4: 7f 43 d3 78                  	mr 3, 26
      d8: 93 21 00 10                  	stw 25, 16(1)
      dc: 38 a0 00 00                  	li 5, 0
      e0: 38 c0 00 00                  	li 6, 0
      e4: 93 21 00 08                  	stw 25, 8(1)
      e8: 48 00 00 01                  	bl .+0
      ec: 3b 5a 10 00                  	addi 26, 26, 4096
      f0: 2c 1a f0 00                  	cmpwi	26, -4096
      f4: 40 82 ff dc                  	bf	2, .+65500
      f8: 3c 60 00 00                  	lis 3, 0
      fc: 4c c6 31 82                  	crclr	6
     100: 7f 85 e3 78                  	mr 5, 28
     104: 38 63 00 00                  	addi 3, 3, 0
     108: 7f 66 db 78                  	mr 6, 27
     10c: 7f c7 f3 78                  	mr 7, 30
     110: 7f a8 eb 78                  	mr 8, 29
     114: 48 00 00 01                  	bl .+0
     118: 7c 7d d8 10                  	subfc 3, 29, 27
     11c: 4c c6 31 82                  	crclr	6
     120: 7c be e1 10                  	subfe 5, 30, 28
     124: 54 64 60 3e                  	rotlwi	4, 3, 12
     128: 3c 60 00 00                  	lis 3, 0
     12c: 50 a4 60 26                  	rlwimi 4, 5, 12, 0, 19
     130: 38 63 00 00                  	addi 3, 3, 0
     134: 48 00 00 01                  	bl .+0
     138: 3c 60 00 00                  	lis 3, 0
     13c: 80 83 00 00                  	lwz 4, 0(3)
     140: 3c 60 00 00                  	lis 3, 0
     144: 94 83 00 00                  	stwu 4, 0(3)
     148: 48 00 00 01                  	bl .+0
     14c: 83 c1 00 28                  	lwz 30, 40(1)
     150: 83 a1 00 24                  	lwz 29, 36(1)
     154: 83 81 00 20                  	lwz 28, 32(1)
     158: 83 61 00 1c                  	lwz 27, 28(1)
     15c: 83 41 00 18                  	lwz 26, 24(1)
     160: 83 21 00 14                  	lwz 25, 20(1)
     164: 80 01 00 34                  	lwz 0, 52(1)
     168: 38 21 00 30                  	addi 1, 1, 48
     16c: 7c 08 03 a6                  	mtlr 0
     170: 4e 80 00 20                  	blr

00000174 mem_init:
     174: 7c 08 02 a6                  	mflr 0
     178: 90 01 00 04                  	stw 0, 4(1)
     17c: 94 21 ff e0                  	stwu 1, -32(1)
     180: 3c 60 00 00                  	lis 3, 0
     184: 3c 80 00 00                  	lis 4, 0
     188: 93 81 00 10                  	stw 28, 16(1)
     18c: 3f 80 00 00                  	lis 28, 0
     190: 80 63 00 00                  	lwz 3, 0(3)
     194: 80 84 00 00                  	lwz 4, 0(4)
     198: 54 63 60 26                  	slwi 3, 3, 12
     19c: 3c 63 c0 00                  	addis 3, 3, -16384
     1a0: 90 7c 00 00                  	stw 3, 0(28)
     1a4: 3c 60 00 00                  	lis 3, 0
     1a8: 93 a1 00 14                  	stw 29, 20(1)
     1ac: 93 c1 00 18                  	stw 30, 24(1)
     1b0: 90 83 00 00                  	stw 4, 0(3)
     1b4: 48 00 00 01                  	bl .+0
     1b8: 38 60 00 00                  	li 3, 0
     1bc: 48 00 00 01                  	bl .+0
     1c0: 3c 60 00 00                  	lis 3, 0
     1c4: 4c c6 31 82                  	crclr	6
     1c8: 38 63 00 00                  	addi 3, 3, 0
     1cc: 48 00 00 01                  	bl .+0
     1d0: 3c 80 ff fd                  	lis 4, -3
     1d4: 3c 60 00 00                  	lis 3, 0
     1d8: 4c c6 31 82                  	crclr	6
     1dc: 60 9e f0 00                  	ori 30, 4, 61440
     1e0: 38 63 00 00                  	addi 3, 3, 0
     1e4: 7f c4 f3 78                  	mr 4, 30
     1e8: 38 a0 f0 00                  	li 5, -4096
     1ec: 48 00 00 01                  	bl .+0
     1f0: 3c 80 ff dd                  	lis 4, -35
     1f4: 3c 60 00 00                  	lis 3, 0
     1f8: 4c c6 31 82                  	crclr	6
     1fc: 60 9d f0 00                  	ori 29, 4, 61440
     200: 38 63 00 00                  	addi 3, 3, 0
     204: 7f a4 eb 78                  	mr 4, 29
     208: 7f c5 f3 78                  	mr 5, 30
     20c: 48 00 00 01                  	bl .+0
     210: 3f c0 00 00                  	lis 30, 0
     214: 3c 60 00 00                  	lis 3, 0
     218: 4c c6 31 82                  	crclr	6
     21c: 80 9e 00 00                  	lwz 4, 0(30)
     220: 38 63 00 00                  	addi 3, 3, 0
     224: 7f a5 eb 78                  	mr 5, 29
     228: 48 00 00 01                  	bl .+0
     22c: 80 7c 00 00                  	lwz 3, 0(28)
     230: 3c 80 01 00                  	lis 4, 256
     234: 4c c6 31 82                  	crclr	6
     238: 38 63 ff ff                  	addi 3, 3, -1
     23c: 80 be 00 00                  	lwz 5, 0(30)
     240: 3c 63 10 00                  	addis 3, 3, 4096
     244: 54 63 00 06                  	rlwinm 3, 3, 0, 0, 3
     248: 50 64 02 0c                  	rlwimi 4, 3, 0, 8, 6
     24c: 3c 60 00 00                  	lis 3, 0
     250: 38 63 00 00                  	addi 3, 3, 0
     254: 48 00 00 01                  	bl .+0
     258: 83 c1 00 18                  	lwz 30, 24(1)
     25c: 83 a1 00 14                  	lwz 29, 20(1)
     260: 83 81 00 10                  	lwz 28, 16(1)
     264: 80 01 00 24                  	lwz 0, 36(1)
     268: 38 21 00 20                  	addi 1, 1, 32
     26c: 7c 08 03 a6                  	mtlr 0
     270: 4e 80 00 20                  	blr

00000274 add_system_ram_resources:
     274: 7c 08 02 a6                  	mflr 0
     278: 90 01 00 04                  	stw 0, 4(1)
     27c: 94 21 ff c0                  	stwu 1, -64(1)
     280: 3c 60 00 00                  	lis 3, 0
     284: 93 a1 00 34                  	stw 29, 52(1)
     288: 3b a3 00 00                  	addi 29, 3, 0
     28c: 80 7d 00 10                  	lwz 3, 16(29)
     290: 93 81 00 30                  	stw 28, 48(1)
     294: 1c 63 00 18                  	mulli 3, 3, 24
     298: 83 9d 00 20                  	lwz 28, 32(29)
     29c: 7c 7c 1a 14                  	add 3, 28, 3
     2a0: 92 a1 00 14                  	stw 21, 20(1)
     2a4: 7c 1c 18 40                  	cmplw	28, 3
     2a8: 92 c1 00 18                  	stw 22, 24(1)
     2ac: 92 e1 00 1c                  	stw 23, 28(1)
     2b0: 93 01 00 20                  	stw 24, 32(1)
     2b4: 93 21 00 24                  	stw 25, 36(1)
     2b8: 93 41 00 28                  	stw 26, 40(1)
     2bc: 93 61 00 2c                  	stw 27, 44(1)
     2c0: 93 c1 00 38                  	stw 30, 56(1)
     2c4: 40 80 00 ac                  	bf	0, .+172
     2c8: 3c 60 00 00                  	lis 3, 0
     2cc: 3c 80 00 00                  	lis 4, 0
     2d0: 3c a0 81 00                  	lis 5, -32512
     2d4: 3c c0 00 00                  	lis 6, 0
     2d8: 3b 7c ff e8                  	addi 27, 28, -24
     2dc: 3b 40 00 00                  	li 26, 0
     2e0: 3b 23 00 00                  	addi 25, 3, 0
     2e4: 3b 04 00 00                  	addi 24, 4, 0
     2e8: 60 b7 02 00                  	ori 23, 5, 512
     2ec: 3b c6 00 00                  	addi 30, 6, 0
     2f0: 80 79 00 18                  	lwz 3, 24(25)
     2f4: 38 80 0d c0                  	li 4, 3520
     2f8: 38 a0 00 28                  	li 5, 40
     2fc: 82 db 00 1c                  	lwz 22, 28(27)
     300: 82 bb 00 24                  	lwz 21, 36(27)
     304: 48 00 00 01                  	bl .+0
     308: 7c 64 1b 78                  	mr 4, 3
     30c: 7c 63 00 34                  	cntlzw	3, 3
     310: 28 04 00 00                  	cmplwi	4, 0
     314: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 31
     318: 0f 03 00 00                  	twnei	3, 0
     31c: 41 82 00 34                  	bt	2, .+52
     320: 7c 76 aa 14                  	add 3, 22, 21
     324: 93 04 00 10                  	stw 24, 16(4)
     328: 38 63 ff ff                  	addi 3, 3, -1
     32c: 90 64 00 0c                  	stw 3, 12(4)
     330: 7f c3 f3 78                  	mr 3, 30
     334: 93 44 00 00                  	stw 26, 0(4)
     338: 92 c4 00 04                  	stw 22, 4(4)
     33c: 93 44 00 08                  	stw 26, 8(4)
     340: 92 e4 00 14                  	stw 23, 20(4)
     344: 48 00 00 01                  	bl .+0
     348: 54 63 0f fe                  	srwi 3, 3, 31
     34c: 0f 03 00 00                  	twnei	3, 0
     350: 80 7d 00 10                  	lwz 3, 16(29)
     354: 3b 9c 00 18                  	addi 28, 28, 24
     358: 3b 7b 00 18                  	addi 27, 27, 24
     35c: 80 9d 00 20                  	lwz 4, 32(29)
     360: 1c 63 00 18                  	mulli 3, 3, 24
     364: 7c 64 1a 14                  	add 3, 4, 3
     368: 7c 1c 18 40                  	cmplw	28, 3
     36c: 41 80 ff 84                  	bt	0, .+65412
     370: 38 60 00 00                  	li 3, 0
     374: 83 c1 00 38                  	lwz 30, 56(1)
     378: 83 a1 00 34                  	lwz 29, 52(1)
     37c: 83 81 00 30                  	lwz 28, 48(1)
     380: 83 61 00 2c                  	lwz 27, 44(1)
     384: 83 41 00 28                  	lwz 26, 40(1)
     388: 83 21 00 24                  	lwz 25, 36(1)
     38c: 83 01 00 20                  	lwz 24, 32(1)
     390: 82 e1 00 1c                  	lwz 23, 28(1)
     394: 82 c1 00 18                  	lwz 22, 24(1)
     398: 82 a1 00 14                  	lwz 21, 20(1)
     39c: 80 01 00 44                  	lwz 0, 68(1)
     3a0: 38 21 00 40                  	addi 1, 1, 64
     3a4: 7c 08 03 a6                  	mtlr 0
     3a8: 4e 80 00 20                  	blr

[-- Attachment #5: mem-diff.txt --]
[-- Type: text/plain, Size: 45633 bytes --]


mem-working.o:	file format ELF32-ppc			      |	mem-broken.o:	file format ELF32-ppc


Disassembly of section .text:					Disassembly of section .text:

00000000 phys_mem_access_prot:					00000000 phys_mem_access_prot:
       0: 7c 08 02 a6                  	mflr 0			       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)		       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff e0                  	stwu 1, -32(1)		       8: 94 21 ff e0                  	stwu 1, -32(1)
       c: 93 a1 00 14                  	stw 29, 20(1)		       c: 93 a1 00 14                  	stw 29, 20(1)
      10: 7c fd 3b 78                  	mr 29, 7		      10: 7c fd 3b 78                  	mr 29, 7
      14: 3c e0 00 00                  	lis 7, 0		      14: 3c e0 00 00                  	lis 7, 0
      18: 38 e7 00 00                  	addi 7, 7, 0		      18: 38 e7 00 00                  	addi 7, 7, 0
      1c: 81 07 00 a0                  	lwz 8, 160(7)		      1c: 81 07 00 a0                  	lwz 8, 160(7)
      20: 93 c1 00 18                  	stw 30, 24(1)		      20: 93 c1 00 18                  	stw 30, 24(1)
      24: 28 08 00 00                  	cmplwi	8, 0		      24: 28 08 00 00                  	cmplwi	8, 0
      28: 7c 7e 1b 78                  	mr 30, 3		      28: 7c 7e 1b 78                  	mr 30, 3
      2c: 41 82 00 20                  	bt	2, .+32		      2c: 41 82 00 20                  	bt	2, .+32
      30: 80 7d 00 00                  	lwz 3, 0(29)		      30: 80 7d 00 00                  	lwz 3, 0(29)
      34: 38 e1 00 08                  	addi 7, 1, 8		      34: 38 e1 00 08                  	addi 7, 1, 8
      38: 7d 09 03 a6                  	mtctr 8			      38: 7d 09 03 a6                  	mtctr 8
      3c: 90 61 00 08                  	stw 3, 8(1)		      3c: 90 61 00 08                  	stw 3, 8(1)
      40: 7f c3 f3 78                  	mr 3, 30		      40: 7f c3 f3 78                  	mr 3, 30
      44: 4e 80 04 21                  	bctrl			      44: 4e 80 04 21                  	bctrl
      48: 48 00 00 28                  	b .+40			      48: 48 00 00 28                  	b .+40
      4c: 7c a3 2b 78                  	mr 3, 5			      4c: 7c a3 2b 78                  	mr 3, 5
      50: 48 00 00 01                  	bl .+0			      50: 48 00 00 01                  	bl .+0
      54: 28 03 00 00                  	cmplwi	3, 0		      54: 28 03 00 00                  	cmplwi	3, 0
      58: 80 7d 00 00                  	lwz 3, 0(29)		      58: 80 7d 00 00                  	lwz 3, 0(29)
      5c: 40 82 00 10                  	bf	2, .+16		      5c: 40 82 00 10                  	bf	2, .+16
      60: 54 63 06 26                  	rlwinm 3, 3, 0, 24, 1	      60: 54 63 06 26                  	rlwinm 3, 3, 0, 24, 1
      64: 60 63 05 00                  	ori 3, 3, 1280		      64: 60 63 05 00                  	ori 3, 3, 1280
      68: 90 7d 00 00                  	stw 3, 0(29)		      68: 90 7d 00 00                  	stw 3, 0(29)
      6c: 90 7e 00 00                  	stw 3, 0(30)		      6c: 90 7e 00 00                  	stw 3, 0(30)
      70: 83 c1 00 18                  	lwz 30, 24(1)		      70: 83 c1 00 18                  	lwz 30, 24(1)
      74: 83 a1 00 14                  	lwz 29, 20(1)		      74: 83 a1 00 14                  	lwz 29, 20(1)
      78: 80 01 00 24                  	lwz 0, 36(1)		      78: 80 01 00 24                  	lwz 0, 36(1)
      7c: 38 21 00 20                  	addi 1, 1, 32		      7c: 38 21 00 20                  	addi 1, 1, 32
      80: 7c 08 03 a6                  	mtlr 0			      80: 7c 08 03 a6                  	mtlr 0
      84: 4e 80 00 20                  	blr			      84: 4e 80 00 20                  	blr

00000088 free_initmem:						00000088 free_initmem:
      88: 7c 08 02 a6                  	mflr 0			      88: 7c 08 02 a6                  	mflr 0
      8c: 90 01 00 04                  	stw 0, 4(1)		      8c: 90 01 00 04                  	stw 0, 4(1)
      90: 94 21 ff f0                  	stwu 1, -16(1)		      90: 94 21 ff f0                  	stwu 1, -16(1)
      94: 3c 60 00 00                  	lis 3, 0		      94: 3c 60 00 00                  	lis 3, 0
      98: 3c 80 00 00                  	lis 4, 0		      98: 3c 80 00 00                  	lis 4, 0
      9c: 38 63 00 00                  	addi 3, 3, 0		      9c: 38 63 00 00                  	addi 3, 3, 0
      a0: 38 84 00 00                  	addi 4, 4, 0		      a0: 38 84 00 00                  	addi 4, 4, 0
      a4: 90 83 00 60                  	stw 4, 96(3)		      a4: 90 83 00 60                  	stw 4, 96(3)
      a8: 48 00 00 01                  	bl .+0			      a8: 48 00 00 01                  	bl .+0
      ac: 3c 60 00 00                  	lis 3, 0		      ac: 3c 60 00 00                  	lis 3, 0
      b0: 38 80 00 01                  	li 4, 1			      b0: 38 80 00 01                  	li 4, 1
      b4: 98 83 00 00                  	stb 4, 0(3)		      b4: 98 83 00 00                  	stb 4, 0(3)
      b8: 3c 60 00 00                  	lis 3, 0		      b8: 3c 60 00 00                  	lis 3, 0
      bc: 3c 80 00 00                  	lis 4, 0		      bc: 3c 80 00 00                  	lis 4, 0
      c0: 3c a0 00 00                  	lis 5, 0		      c0: 3c a0 00 00                  	lis 5, 0
      c4: 38 63 00 00                  	addi 3, 3, 0		      c4: 38 63 00 00                  	addi 3, 3, 0
      c8: 38 84 00 00                  	addi 4, 4, 0		      c8: 38 84 00 00                  	addi 4, 4, 0
      cc: 38 c5 00 00                  	addi 6, 5, 0		      cc: 38 c5 00 00                  	addi 6, 5, 0
      d0: 38 a0 00 cc                  	li 5, 204		      d0: 38 a0 00 cc                  	li 5, 204
      d4: 48 00 00 01                  	bl .+0			      d4: 48 00 00 01                  	bl .+0
      d8: 80 01 00 14                  	lwz 0, 20(1)		      d8: 80 01 00 14                  	lwz 0, 20(1)
      dc: 38 21 00 10                  	addi 1, 1, 16		      dc: 38 21 00 10                  	addi 1, 1, 16
      e0: 7c 08 03 a6                  	mtlr 0			      e0: 7c 08 03 a6                  	mtlr 0
      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 4, 0(3)		      e8: 80 83 00 00                  	lwz 4, 0(3)
      ec: 70 84 08 00                  	andi. 4, 4, 2048	      ec: 70 84 08 00                  	andi. 4, 4, 2048
      f0: 4d 82 00 20                  	bclr	12, 2		      f0: 4d 82 00 20                  	bclr	12, 2
      f4: 38 80 08 00                  	li 4, 2048		      f4: 38 80 08 00                  	li 4, 2048
      f8: 7c a0 18 28                  	lwarx 5, 0, 3		      f8: 7c a0 18 28                  	lwarx 5, 0, 3
      fc: 7c a5 20 78                  	andc 5, 5, 4		      fc: 7c a5 20 78                  	andc 5, 5, 4
     100: 7c a0 19 2d                  	stwcx. 5, 0, 3		     100: 7c a0 19 2d                  	stwcx. 5, 0, 3
     104: 40 a2 ff f4                  	bc 5, 2, .+65524	     104: 40 a2 ff f4                  	bc 5, 2, .+65524
     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 0			     10c: 7c 08 02 a6                  	mflr 0
     110: 90 01 00 04                  	stw 0, 4(1)		     110: 90 01 00 04                  	stw 0, 4(1)
     114: 94 21 ff f0                  	stwu 1, -16(1)		     114: 94 21 ff f0                  	stwu 1, -16(1)
     118: 80 82 00 00                  	lwz 4, 0(2)		     118: 80 82 00 00                  	lwz 4, 0(2)
     11c: 38 84 00 01                  	addi 4, 4, 1		     11c: 38 84 00 01                  	addi 4, 4, 1
     120: 90 82 00 00                  	stw 4, 0(2)		     120: 90 82 00 00                  	stw 4, 0(2)
     124: 80 82 0a e4                  	lwz 4, 2788(2)		     124: 80 82 0a e4                  	lwz 4, 2788(2)
     128: 38 84 00 01                  	addi 4, 4, 1		     128: 38 84 00 01                  	addi 4, 4, 1
     12c: 90 82 0a e4                  	stw 4, 2788(2)		     12c: 90 82 0a e4                  	stw 4, 2788(2)
     130: 3c 80 00 00                  	lis 4, 0		     130: 3c 80 00 00                  	lis 4, 0
     134: 80 84 00 00                  	lwz 4, 0(4)		     134: 80 84 00 00                  	lwz 4, 0(4)
     138: 7c 64 18 50                  	subf 3, 4, 3		     138: 7c 64 18 50                  	subf 3, 4, 3
     13c: 3c 80 cc cc                  	lis 4, -13108		     13c: 3c 80 cc cc                  	lis 4, -13108
     140: 54 63 e8 fe                  	srwi 3, 3, 3		     140: 54 63 e8 fe                  	srwi 3, 3, 3
     144: 60 84 d0 00                  	ori 4, 4, 53248		     144: 60 84 d0 00                  	ori 4, 4, 53248
     148: 7c 63 21 d6                  	mullw 3, 3, 4		     148: 7c 63 21 d6                  	mullw 3, 3, 4
     14c: 3c 63 c0 00                  	addis 3, 3, -16384	     14c: 3c 63 c0 00                  	addis 3, 3, -16384
     150: 48 00 00 01                  	bl .+0			     150: 48 00 00 01                  	bl .+0
     154: 80 62 0a e4                  	lwz 3, 2788(2)		     154: 80 62 0a e4                  	lwz 3, 2788(2)
     158: 38 63 ff ff                  	addi 3, 3, -1		     158: 38 63 ff ff                  	addi 3, 3, -1
     15c: 90 62 0a e4                  	stw 3, 2788(2)		     15c: 90 62 0a e4                  	stw 3, 2788(2)
     160: 80 62 00 00                  	lwz 3, 0(2)		     160: 80 62 00 00                  	lwz 3, 0(2)
     164: 38 63 ff ff                  	addi 3, 3, -1		     164: 38 63 ff ff                  	addi 3, 3, -1
     168: 90 62 00 00                  	stw 3, 0(2)		     168: 90 62 00 00                  	stw 3, 0(2)
     16c: 80 01 00 14                  	lwz 0, 20(1)		     16c: 80 01 00 14                  	lwz 0, 20(1)
     170: 38 21 00 10                  	addi 1, 1, 16		     170: 38 21 00 10                  	addi 1, 1, 16
     174: 7c 08 03 a6                  	mtlr 0			     174: 7c 08 03 a6                  	mtlr 0
     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 4, 128	      |	     17c: 94 21 ff f0                  	stwu 1, -16(1)
     180: 7c 89 03 a6                  	mtctr 4		      |	     180: 38 80 00 80                  	li 4, 128
     184: 7c 00 1f ec                  	dcbz 0, 3	      |	     184: 38 63 ff e0                  	addi 3, 3, -32
     188: 38 63 00 20                  	addi 3, 3, 32	      |	     188: 7c 89 03 a6                  	mtctr 4
     18c: 42 00 ff f8                  	bdnz .+65528	      |	     18c: 38 81 00 0f                  	addi 4, 1, 15
     190: 80 65 00 00                  	lwz 3, 0(5)	      |	     190: 8c c3 00 20                  	lbzu 6, 32(3)
     194: 70 63 08 00                  	andi. 3, 3, 2048      |	     194: 98 c1 00 0f                  	stb 6, 15(1)
     198: 4d 82 00 20                  	bclr	12, 2	      |	     198: 7c 00 27 ec                  	dcbz 0, 4
     19c: 38 60 08 00                  	li 3, 2048	      |	     19c: 42 00 ff f4                  	bdnz .+65524
     1a0: 7c 80 28 28                  	lwarx 4, 0, 5	      |	     1a0: 80 65 00 00                  	lwz 3, 0(5)
     1a4: 7c 84 18 78                  	andc 4, 4, 3	      |	     1a4: 70 63 08 00                  	andi. 3, 3, 2048
     1a8: 7c 80 29 2d                  	stwcx. 4, 0, 5	      |	     1a8: 41 82 00 18                  	bt	2, .+24
     1ac: 40 a2 ff f4                  	bc 5, 2, .+65524      |	     1ac: 38 60 08 00                  	li 3, 2048
     1b0: 4e 80 00 20                  	blr		      |	     1b0: 7c 80 28 28                  	lwarx 4, 0, 5
							      |	     1b4: 7c 84 18 78                  	andc 4, 4, 3
000001b4 copy_user_page:				      |	     1b8: 7c 80 29 2d                  	stwcx. 4, 0, 5
     1b4: 7c 08 02 a6                  	mflr 0		      |	     1bc: 40 a2 ff f4                  	bc 5, 2, .+65524
     1b8: 90 01 00 04                  	stw 0, 4(1)	      |	     1c0: 38 21 00 10                  	addi 1, 1, 16
     1bc: 94 21 ff f0                  	stwu 1, -16(1)	      |	     1c4: 4e 80 00 20                  	blr
     1c0: 93 c1 00 08                  	stw 30, 8(1)	      |
     1c4: 7c de 33 78                  	mr 30, 6	      |	000001c8 copy_user_page:
     1c8: 48 00 00 01                  	bl .+0		      |	     1c8: 7c 08 02 a6                  	mflr 0
     1cc: 80 7e 00 00                  	lwz 3, 0(30)	      |	     1cc: 90 01 00 04                  	stw 0, 4(1)
     1d0: 70 63 08 00                  	andi. 3, 3, 2048      |	     1d0: 94 21 ff f0                  	stwu 1, -16(1)
     1d4: 41 82 00 18                  	bt	2, .+24	      |	     1d4: 93 c1 00 08                  	stw 30, 8(1)
     1d8: 38 60 08 00                  	li 3, 2048	      |	     1d8: 7c de 33 78                  	mr 30, 6
     1dc: 7c 80 f0 28                  	lwarx 4, 0, 30	      |	     1dc: 48 00 00 01                  	bl .+0
     1e0: 7c 84 18 78                  	andc 4, 4, 3	      |	     1e0: 80 7e 00 00                  	lwz 3, 0(30)
     1e4: 7c 80 f1 2d                  	stwcx. 4, 0, 30	      |	     1e4: 70 63 08 00                  	andi. 3, 3, 2048
     1e8: 40 a2 ff f4                  	bc 5, 2, .+65524      |	     1e8: 41 82 00 18                  	bt	2, .+24
     1ec: 83 c1 00 08                  	lwz 30, 8(1)	      |	     1ec: 38 60 08 00                  	li 3, 2048
     1f0: 80 01 00 14                  	lwz 0, 20(1)	      |	     1f0: 7c 80 f0 28                  	lwarx 4, 0, 30
     1f4: 38 21 00 10                  	addi 1, 1, 16	      |	     1f4: 7c 84 18 78                  	andc 4, 4, 3
     1f8: 7c 08 03 a6                  	mtlr 0		      |	     1f8: 7c 80 f1 2d                  	stwcx. 4, 0, 30
     1fc: 4e 80 00 20                  	blr		      |	     1fc: 40 a2 ff f4                  	bc 5, 2, .+65524
							      |	     200: 83 c1 00 08                  	lwz 30, 8(1)
00000200 flush_icache_user_range:			      |	     204: 80 01 00 14                  	lwz 0, 20(1)
     200: 7c 08 02 a6                  	mflr 0		      |	     208: 38 21 00 10                  	addi 1, 1, 16
     204: 90 01 00 04                  	stw 0, 4(1)	      |	     20c: 7c 08 03 a6                  	mtlr 0
     208: 94 21 ff e0                  	stwu 1, -32(1)	      |	     210: 4e 80 00 20                  	blr
     20c: 3c 60 00 00                  	lis 3, 0	      |
     210: 93 81 00 10                  	stw 28, 16(1)	      |	00000214 flush_icache_user_range:
     214: 7c 9c 23 78                  	mr 28, 4	      |	     214: 7c 08 02 a6                  	mflr 0
     218: 38 63 00 00                  	addi 3, 3, 0	      |	     218: 90 01 00 04                  	stw 0, 4(1)
     21c: 38 80 00 53                  	li 4, 83	      |	     21c: 94 21 ff e0                  	stwu 1, -32(1)
     220: 93 a1 00 14                  	stw 29, 20(1)	      |	     220: 3c 60 00 00                  	lis 3, 0
     224: 7c bd 2b 78                  	mr 29, 5	      |	     224: 93 81 00 10                  	stw 28, 16(1)
     228: 38 a0 00 00                  	li 5, 0		      |	     228: 7c 9c 23 78                  	mr 28, 4
     22c: 93 c1 00 18                  	stw 30, 24(1)	      |	     22c: 38 63 00 00                  	addi 3, 3, 0
     230: 7c de 33 78                  	mr 30, 6	      |	     230: 38 80 00 53                  	li 4, 83
     234: 48 00 00 01                  	bl .+0		      |	     234: 93 a1 00 14                  	stw 29, 20(1)
     238: 3c 60 00 00                  	lis 3, 0	      |	     238: 7c bd 2b 78                  	mr 29, 5
     23c: 3c 80 cc cc                  	lis 4, -13108	      |	     23c: 38 a0 00 00                  	li 5, 0
     240: 80 63 00 00                  	lwz 3, 0(3)	      |	     240: 93 c1 00 18                  	stw 30, 24(1)
     244: 60 84 d0 00                  	ori 4, 4, 53248	      |	     244: 7c de 33 78                  	mr 30, 6
     248: 7c 63 e0 50                  	subf 3, 3, 28	      |	     248: 48 00 00 01                  	bl .+0
     24c: 54 63 e8 fe                  	srwi 3, 3, 3	      |	     24c: 3c 60 00 00                  	lis 3, 0
     250: 7c 63 21 d6                  	mullw 3, 3, 4	      |	     250: 3c 80 cc cc                  	lis 4, -13108
     254: 57 a4 05 3e                  	clrlwi	4, 29, 20     |	     254: 80 63 00 00                  	lwz 3, 0(3)
     258: 50 64 00 26                  	rlwimi 4, 3, 0, 0, 19 |	     258: 60 84 d0 00                  	ori 4, 4, 53248
     25c: 3c 64 c0 00                  	addis 3, 4, -16384    |	     25c: 7c 63 e0 50                  	subf 3, 3, 28
     260: 7c 83 f2 14                  	add 4, 3, 30	      |	     260: 54 63 e8 fe                  	srwi 3, 3, 3
     264: 48 00 00 01                  	bl .+0		      |	     264: 7c 63 21 d6                  	mullw 3, 3, 4
     268: 83 c1 00 18                  	lwz 30, 24(1)	      |	     268: 57 a4 05 3e                  	clrlwi	4, 29, 20
     26c: 83 a1 00 14                  	lwz 29, 20(1)	      |	     26c: 50 64 00 26                  	rlwimi 4, 3, 0, 0, 19
     270: 83 81 00 10                  	lwz 28, 16(1)	      |	     270: 3c 64 c0 00                  	addis 3, 4, -16384
     274: 80 01 00 24                  	lwz 0, 36(1)	      |	     274: 7c 83 f2 14                  	add 4, 3, 30
     278: 38 21 00 20                  	addi 1, 1, 32	      |	     278: 48 00 00 01                  	bl .+0
     27c: 7c 08 03 a6                  	mtlr 0		      |	     27c: 83 c1 00 18                  	lwz 30, 24(1)
     280: 4e 80 00 20                  	blr		      |	     280: 83 a1 00 14                  	lwz 29, 20(1)
							      |	     284: 83 81 00 10                  	lwz 28, 16(1)
00000284 update_mmu_cache:				      |	     288: 80 01 00 24                  	lwz 0, 36(1)
     284: 4e 80 00 20                  	blr		      |	     28c: 38 21 00 20                  	addi 1, 1, 32
							      |	     290: 7c 08 03 a6                  	mtlr 0
00000288 devmem_is_allowed:				      |	     294: 4e 80 00 20                  	blr
     288: 7c 08 02 a6                  	mflr 0		      |
     28c: 90 01 00 04                  	stw 0, 4(1)	      |	00000298 update_mmu_cache:
     290: 94 21 ff f0                  	stwu 1, -16(1)	      |	     298: 4e 80 00 20                  	blr
     294: 93 c1 00 08                  	stw 30, 8(1)	      |
     298: 7c 7e 1b 78                  	mr 30, 3	      |	0000029c devmem_is_allowed:
     29c: 54 63 65 3e                  	srwi 3, 3, 20	      |	     29c: 7c 08 02 a6                  	mflr 0
     2a0: 57 c4 60 26                  	slwi 4, 30, 12	      |	     2a0: 90 01 00 04                  	stw 0, 4(1)
     2a4: 48 00 00 01                  	bl .+0		      |	     2a4: 94 21 ff f0                  	stwu 1, -16(1)
     2a8: 70 63 00 01                  	andi. 3, 3, 1	      |	     2a8: 93 c1 00 08                  	stw 30, 8(1)
     2ac: 38 60 00 00                  	li 3, 0		      |	     2ac: 7c 7e 1b 78                  	mr 30, 3
     2b0: 41 81 00 14                  	bt	1, .+20	      |	     2b0: 54 63 65 3e                  	srwi 3, 3, 20
     2b4: 7f c3 f3 78                  	mr 3, 30	      |	     2b4: 57 c4 60 26                  	slwi 4, 30, 12
     2b8: 48 00 00 01                  	bl .+0			     2b8: 48 00 00 01                  	bl .+0
     2bc: 7c 63 00 34                  	cntlzw	3, 3	      |	     2bc: 70 63 00 01                  	andi. 3, 3, 1
     2c0: 54 63 df fe                  	rlwinm 3, 3, 27, 31,  |	     2c0: 38 60 00 00                  	li 3, 0
     2c4: 83 c1 00 08                  	lwz 30, 8(1)	      |	     2c4: 41 81 00 14                  	bt	1, .+20
     2c8: 80 01 00 14                  	lwz 0, 20(1)	      |	     2c8: 7f c3 f3 78                  	mr 3, 30
     2cc: 38 21 00 10                  	addi 1, 1, 16	      |	     2cc: 48 00 00 01                  	bl .+0
     2d0: 7c 08 03 a6                  	mtlr 0		      |	     2d0: 7c 63 00 34                  	cntlzw	3, 3
     2d4: 4e 80 00 20                  	blr		      |	     2d4: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 
							      >	     2d8: 83 c1 00 08                  	lwz 30, 8(1)
							      >	     2dc: 80 01 00 14                  	lwz 0, 20(1)
							      >	     2e0: 38 21 00 10                  	addi 1, 1, 16
							      >	     2e4: 7c 08 03 a6                  	mtlr 0
							      >	     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 0			       0: 7c 08 02 a6                  	mflr 0
       4: 90 01 00 04                  	stw 0, 4(1)		       4: 90 01 00 04                  	stw 0, 4(1)
       8: 94 21 ff f0                  	stwu 1, -16(1)		       8: 94 21 ff f0                  	stwu 1, -16(1)
       c: 48 00 00 01                  	bl .+0			       c: 48 00 00 01                  	bl .+0
      10: 54 84 a0 3e                  	rotlwi	4, 4, 20	      10: 54 84 a0 3e                  	rotlwi	4, 4, 20
      14: 3c a0 00 00                  	lis 5, 0		      14: 3c a0 00 00                  	lis 5, 0
      18: 50 64 a0 16                  	rlwimi 4, 3, 20, 0, 1	      18: 50 64 a0 16                  	rlwimi 4, 3, 20, 0, 1
      1c: 3c 60 00 00                  	lis 3, 0		      1c: 3c 60 00 00                  	lis 3, 0
      20: 90 85 00 00                  	stw 4, 0(5)		      20: 90 85 00 00                  	stw 4, 0(5)
      24: 38 a0 ff ff                  	li 5, -1		      24: 38 a0 ff ff                  	li 5, -1
      28: 90 83 00 00                  	stw 4, 0(3)		      28: 90 83 00 00                  	stw 4, 0(3)
      2c: 3c 60 00 00                  	lis 3, 0		      2c: 3c 60 00 00                  	lis 3, 0
      30: 38 80 00 00                  	li 4, 0			      30: 38 80 00 00                  	li 4, 0
      34: 38 c0 ff ff                  	li 6, -1		      34: 38 c0 ff ff                  	li 6, -1
      38: 39 00 00 00                  	li 8, 0			      38: 39 00 00 00                  	li 8, 0
      3c: 90 83 00 00                  	stw 4, 0(3)		      3c: 90 83 00 00                  	stw 4, 0(3)
      40: 3c 60 00 00                  	lis 3, 0		      40: 3c 60 00 00                  	lis 3, 0
      44: 38 80 00 00                  	li 4, 0			      44: 38 80 00 00                  	li 4, 0
      48: 38 63 00 00                  	addi 3, 3, 0		      48: 38 63 00 00                  	addi 3, 3, 0
      4c: 38 e3 00 10                  	addi 7, 3, 16		      4c: 38 e3 00 10                  	addi 7, 3, 16
      50: 38 60 00 00                  	li 3, 0			      50: 38 60 00 00                  	li 3, 0
      54: 48 00 00 01                  	bl .+0			      54: 48 00 00 01                  	bl .+0
      58: 80 01 00 14                  	lwz 0, 20(1)		      58: 80 01 00 14                  	lwz 0, 20(1)
      5c: 38 21 00 10                  	addi 1, 1, 16		      5c: 38 21 00 10                  	addi 1, 1, 16
      60: 7c 08 03 a6                  	mtlr 0			      60: 7c 08 03 a6                  	mtlr 0
      64: 4e 80 00 20                  	blr			      64: 4e 80 00 20                  	blr

00000068 initmem_init:						00000068 initmem_init:
      68: 7c 08 02 a6                  	mflr 0			      68: 7c 08 02 a6                  	mflr 0
      6c: 90 01 00 04                  	stw 0, 4(1)		      6c: 90 01 00 04                  	stw 0, 4(1)
      70: 94 21 ff f0                  	stwu 1, -16(1)		      70: 94 21 ff f0                  	stwu 1, -16(1)
      74: 38 60 00 00                  	li 3, 0			      74: 38 60 00 00                  	li 3, 0
      78: 48 00 00 01                  	bl .+0			      78: 48 00 00 01                  	bl .+0
      7c: 80 01 00 14                  	lwz 0, 20(1)		      7c: 80 01 00 14                  	lwz 0, 20(1)
      80: 38 21 00 10                  	addi 1, 1, 16		      80: 38 21 00 10                  	addi 1, 1, 16
      84: 7c 08 03 a6                  	mtlr 0			      84: 7c 08 03 a6                  	mtlr 0
      88: 4e 80 00 20                  	blr			      88: 4e 80 00 20                  	blr

0000008c paging_init:						0000008c paging_init:
      8c: 7c 08 02 a6                  	mflr 0			      8c: 7c 08 02 a6                  	mflr 0
      90: 90 01 00 04                  	stw 0, 4(1)		      90: 90 01 00 04                  	stw 0, 4(1)
      94: 94 21 ff d0                  	stwu 1, -48(1)		      94: 94 21 ff d0                  	stwu 1, -48(1)
      98: 93 21 00 14                  	stw 25, 20(1)		      98: 93 21 00 14                  	stw 25, 20(1)
      9c: 93 41 00 18                  	stw 26, 24(1)		      9c: 93 41 00 18                  	stw 26, 24(1)
      a0: 93 61 00 1c                  	stw 27, 28(1)		      a0: 93 61 00 1c                  	stw 27, 28(1)
      a4: 93 81 00 20                  	stw 28, 32(1)		      a4: 93 81 00 20                  	stw 28, 32(1)
      a8: 93 a1 00 24                  	stw 29, 36(1)		      a8: 93 a1 00 24                  	stw 29, 36(1)
      ac: 93 c1 00 28                  	stw 30, 40(1)		      ac: 93 c1 00 28                  	stw 30, 40(1)
      b0: 48 00 00 01                  	bl .+0			      b0: 48 00 00 01                  	bl .+0
      b4: 7c 7e 1b 78                  	mr 30, 3		      b4: 7c 7e 1b 78                  	mr 30, 3
      b8: 7c 9d 23 78                  	mr 29, 4		      b8: 7c 9d 23 78                  	mr 29, 4
      bc: 3f 40 ff fe                  	lis 26, -2		      bc: 3f 40 ff fe                  	lis 26, -2
      c0: 48 00 00 01                  	bl .+0			      c0: 48 00 00 01                  	bl .+0
      c4: 7c 7c 1b 78                  	mr 28, 3		      c4: 7c 7c 1b 78                  	mr 28, 3
      c8: 7c 9b 23 78                  	mr 27, 4		      c8: 7c 9b 23 78                  	mr 27, 4
      cc: 3b 20 00 00                  	li 25, 0		      cc: 3b 20 00 00                  	li 25, 0
      d0: 38 e1 00 08                  	addi 7, 1, 8		      d0: 38 e1 00 08                  	addi 7, 1, 8
      d4: 7f 43 d3 78                  	mr 3, 26		      d4: 7f 43 d3 78                  	mr 3, 26
      d8: 93 21 00 10                  	stw 25, 16(1)		      d8: 93 21 00 10                  	stw 25, 16(1)
      dc: 38 a0 00 00                  	li 5, 0			      dc: 38 a0 00 00                  	li 5, 0
      e0: 38 c0 00 00                  	li 6, 0			      e0: 38 c0 00 00                  	li 6, 0
      e4: 93 21 00 08                  	stw 25, 8(1)		      e4: 93 21 00 08                  	stw 25, 8(1)
      e8: 48 00 00 01                  	bl .+0			      e8: 48 00 00 01                  	bl .+0
      ec: 3b 5a 10 00                  	addi 26, 26, 4096	      ec: 3b 5a 10 00                  	addi 26, 26, 4096
      f0: 2c 1a f0 00                  	cmpwi	26, -4096	      f0: 2c 1a f0 00                  	cmpwi	26, -4096
      f4: 40 82 ff dc                  	bf	2, .+65500	      f4: 40 82 ff dc                  	bf	2, .+65500
      f8: 3c 60 00 00                  	lis 3, 0		      f8: 3c 60 00 00                  	lis 3, 0
      fc: 4c c6 31 82                  	crclr	6		      fc: 4c c6 31 82                  	crclr	6
     100: 7f 85 e3 78                  	mr 5, 28		     100: 7f 85 e3 78                  	mr 5, 28
     104: 38 63 00 00                  	addi 3, 3, 0		     104: 38 63 00 00                  	addi 3, 3, 0
     108: 7f 66 db 78                  	mr 6, 27		     108: 7f 66 db 78                  	mr 6, 27
     10c: 7f c7 f3 78                  	mr 7, 30		     10c: 7f c7 f3 78                  	mr 7, 30
     110: 7f a8 eb 78                  	mr 8, 29		     110: 7f a8 eb 78                  	mr 8, 29
     114: 48 00 00 01                  	bl .+0			     114: 48 00 00 01                  	bl .+0
     118: 7c 7d d8 10                  	subfc 3, 29, 27		     118: 7c 7d d8 10                  	subfc 3, 29, 27
     11c: 4c c6 31 82                  	crclr	6		     11c: 4c c6 31 82                  	crclr	6
     120: 7c be e1 10                  	subfe 5, 30, 28		     120: 7c be e1 10                  	subfe 5, 30, 28
     124: 54 64 60 3e                  	rotlwi	4, 3, 12	     124: 54 64 60 3e                  	rotlwi	4, 3, 12
     128: 3c 60 00 00                  	lis 3, 0		     128: 3c 60 00 00                  	lis 3, 0
     12c: 50 a4 60 26                  	rlwimi 4, 5, 12, 0, 1	     12c: 50 a4 60 26                  	rlwimi 4, 5, 12, 0, 1
     130: 38 63 00 00                  	addi 3, 3, 0		     130: 38 63 00 00                  	addi 3, 3, 0
     134: 48 00 00 01                  	bl .+0			     134: 48 00 00 01                  	bl .+0
     138: 3c 60 00 00                  	lis 3, 0		     138: 3c 60 00 00                  	lis 3, 0
     13c: 80 83 00 00                  	lwz 4, 0(3)		     13c: 80 83 00 00                  	lwz 4, 0(3)
     140: 3c 60 00 00                  	lis 3, 0		     140: 3c 60 00 00                  	lis 3, 0
     144: 94 83 00 00                  	stwu 4, 0(3)		     144: 94 83 00 00                  	stwu 4, 0(3)
     148: 48 00 00 01                  	bl .+0			     148: 48 00 00 01                  	bl .+0
     14c: 83 c1 00 28                  	lwz 30, 40(1)		     14c: 83 c1 00 28                  	lwz 30, 40(1)
     150: 83 a1 00 24                  	lwz 29, 36(1)		     150: 83 a1 00 24                  	lwz 29, 36(1)
     154: 83 81 00 20                  	lwz 28, 32(1)		     154: 83 81 00 20                  	lwz 28, 32(1)
     158: 83 61 00 1c                  	lwz 27, 28(1)		     158: 83 61 00 1c                  	lwz 27, 28(1)
     15c: 83 41 00 18                  	lwz 26, 24(1)		     15c: 83 41 00 18                  	lwz 26, 24(1)
     160: 83 21 00 14                  	lwz 25, 20(1)		     160: 83 21 00 14                  	lwz 25, 20(1)
     164: 80 01 00 34                  	lwz 0, 52(1)		     164: 80 01 00 34                  	lwz 0, 52(1)
     168: 38 21 00 30                  	addi 1, 1, 48		     168: 38 21 00 30                  	addi 1, 1, 48
     16c: 7c 08 03 a6                  	mtlr 0			     16c: 7c 08 03 a6                  	mtlr 0
     170: 4e 80 00 20                  	blr			     170: 4e 80 00 20                  	blr

00000174 mem_init:						00000174 mem_init:
     174: 7c 08 02 a6                  	mflr 0			     174: 7c 08 02 a6                  	mflr 0
     178: 90 01 00 04                  	stw 0, 4(1)		     178: 90 01 00 04                  	stw 0, 4(1)
     17c: 94 21 ff e0                  	stwu 1, -32(1)		     17c: 94 21 ff e0                  	stwu 1, -32(1)
     180: 3c 60 00 00                  	lis 3, 0		     180: 3c 60 00 00                  	lis 3, 0
     184: 3c 80 00 00                  	lis 4, 0		     184: 3c 80 00 00                  	lis 4, 0
     188: 93 81 00 10                  	stw 28, 16(1)		     188: 93 81 00 10                  	stw 28, 16(1)
     18c: 3f 80 00 00                  	lis 28, 0		     18c: 3f 80 00 00                  	lis 28, 0
     190: 80 63 00 00                  	lwz 3, 0(3)		     190: 80 63 00 00                  	lwz 3, 0(3)
     194: 80 84 00 00                  	lwz 4, 0(4)		     194: 80 84 00 00                  	lwz 4, 0(4)
     198: 54 63 60 26                  	slwi 3, 3, 12		     198: 54 63 60 26                  	slwi 3, 3, 12
     19c: 3c 63 c0 00                  	addis 3, 3, -16384	     19c: 3c 63 c0 00                  	addis 3, 3, -16384
     1a0: 90 7c 00 00                  	stw 3, 0(28)		     1a0: 90 7c 00 00                  	stw 3, 0(28)
     1a4: 3c 60 00 00                  	lis 3, 0		     1a4: 3c 60 00 00                  	lis 3, 0
     1a8: 93 a1 00 14                  	stw 29, 20(1)		     1a8: 93 a1 00 14                  	stw 29, 20(1)
     1ac: 93 c1 00 18                  	stw 30, 24(1)		     1ac: 93 c1 00 18                  	stw 30, 24(1)
     1b0: 90 83 00 00                  	stw 4, 0(3)		     1b0: 90 83 00 00                  	stw 4, 0(3)
     1b4: 48 00 00 01                  	bl .+0			     1b4: 48 00 00 01                  	bl .+0
     1b8: 38 60 00 00                  	li 3, 0			     1b8: 38 60 00 00                  	li 3, 0
     1bc: 48 00 00 01                  	bl .+0			     1bc: 48 00 00 01                  	bl .+0
     1c0: 3c 60 00 00                  	lis 3, 0		     1c0: 3c 60 00 00                  	lis 3, 0
     1c4: 4c c6 31 82                  	crclr	6		     1c4: 4c c6 31 82                  	crclr	6
     1c8: 38 63 00 00                  	addi 3, 3, 0		     1c8: 38 63 00 00                  	addi 3, 3, 0
     1cc: 48 00 00 01                  	bl .+0			     1cc: 48 00 00 01                  	bl .+0
     1d0: 3c 80 ff fd                  	lis 4, -3		     1d0: 3c 80 ff fd                  	lis 4, -3
     1d4: 3c 60 00 00                  	lis 3, 0		     1d4: 3c 60 00 00                  	lis 3, 0
     1d8: 4c c6 31 82                  	crclr	6		     1d8: 4c c6 31 82                  	crclr	6
     1dc: 60 9e f0 00                  	ori 30, 4, 61440	     1dc: 60 9e f0 00                  	ori 30, 4, 61440
     1e0: 38 63 00 00                  	addi 3, 3, 0		     1e0: 38 63 00 00                  	addi 3, 3, 0
     1e4: 7f c4 f3 78                  	mr 4, 30		     1e4: 7f c4 f3 78                  	mr 4, 30
     1e8: 38 a0 f0 00                  	li 5, -4096		     1e8: 38 a0 f0 00                  	li 5, -4096
     1ec: 48 00 00 01                  	bl .+0			     1ec: 48 00 00 01                  	bl .+0
     1f0: 3c 80 ff dd                  	lis 4, -35		     1f0: 3c 80 ff dd                  	lis 4, -35
     1f4: 3c 60 00 00                  	lis 3, 0		     1f4: 3c 60 00 00                  	lis 3, 0
     1f8: 4c c6 31 82                  	crclr	6		     1f8: 4c c6 31 82                  	crclr	6
     1fc: 60 9d f0 00                  	ori 29, 4, 61440	     1fc: 60 9d f0 00                  	ori 29, 4, 61440
     200: 38 63 00 00                  	addi 3, 3, 0		     200: 38 63 00 00                  	addi 3, 3, 0
     204: 7f a4 eb 78                  	mr 4, 29		     204: 7f a4 eb 78                  	mr 4, 29
     208: 7f c5 f3 78                  	mr 5, 30		     208: 7f c5 f3 78                  	mr 5, 30
     20c: 48 00 00 01                  	bl .+0			     20c: 48 00 00 01                  	bl .+0
     210: 3f c0 00 00                  	lis 30, 0		     210: 3f c0 00 00                  	lis 30, 0
     214: 3c 60 00 00                  	lis 3, 0		     214: 3c 60 00 00                  	lis 3, 0
     218: 4c c6 31 82                  	crclr	6		     218: 4c c6 31 82                  	crclr	6
     21c: 80 9e 00 00                  	lwz 4, 0(30)		     21c: 80 9e 00 00                  	lwz 4, 0(30)
     220: 38 63 00 00                  	addi 3, 3, 0		     220: 38 63 00 00                  	addi 3, 3, 0
     224: 7f a5 eb 78                  	mr 5, 29		     224: 7f a5 eb 78                  	mr 5, 29
     228: 48 00 00 01                  	bl .+0			     228: 48 00 00 01                  	bl .+0
     22c: 80 7c 00 00                  	lwz 3, 0(28)		     22c: 80 7c 00 00                  	lwz 3, 0(28)
     230: 3c 80 01 00                  	lis 4, 256		     230: 3c 80 01 00                  	lis 4, 256
     234: 4c c6 31 82                  	crclr	6		     234: 4c c6 31 82                  	crclr	6
     238: 38 63 ff ff                  	addi 3, 3, -1		     238: 38 63 ff ff                  	addi 3, 3, -1
     23c: 80 be 00 00                  	lwz 5, 0(30)		     23c: 80 be 00 00                  	lwz 5, 0(30)
     240: 3c 63 10 00                  	addis 3, 3, 4096	     240: 3c 63 10 00                  	addis 3, 3, 4096
     244: 54 63 00 06                  	rlwinm 3, 3, 0, 0, 3	     244: 54 63 00 06                  	rlwinm 3, 3, 0, 0, 3
     248: 50 64 02 0c                  	rlwimi 4, 3, 0, 8, 6	     248: 50 64 02 0c                  	rlwimi 4, 3, 0, 8, 6
     24c: 3c 60 00 00                  	lis 3, 0		     24c: 3c 60 00 00                  	lis 3, 0
     250: 38 63 00 00                  	addi 3, 3, 0		     250: 38 63 00 00                  	addi 3, 3, 0
     254: 48 00 00 01                  	bl .+0			     254: 48 00 00 01                  	bl .+0
     258: 83 c1 00 18                  	lwz 30, 24(1)		     258: 83 c1 00 18                  	lwz 30, 24(1)
     25c: 83 a1 00 14                  	lwz 29, 20(1)		     25c: 83 a1 00 14                  	lwz 29, 20(1)
     260: 83 81 00 10                  	lwz 28, 16(1)		     260: 83 81 00 10                  	lwz 28, 16(1)
     264: 80 01 00 24                  	lwz 0, 36(1)		     264: 80 01 00 24                  	lwz 0, 36(1)
     268: 38 21 00 20                  	addi 1, 1, 32		     268: 38 21 00 20                  	addi 1, 1, 32
     26c: 7c 08 03 a6                  	mtlr 0			     26c: 7c 08 03 a6                  	mtlr 0
     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 0			     274: 7c 08 02 a6                  	mflr 0
     278: 90 01 00 04                  	stw 0, 4(1)		     278: 90 01 00 04                  	stw 0, 4(1)
     27c: 94 21 ff c0                  	stwu 1, -64(1)		     27c: 94 21 ff c0                  	stwu 1, -64(1)
     280: 3c 60 00 00                  	lis 3, 0		     280: 3c 60 00 00                  	lis 3, 0
     284: 93 a1 00 34                  	stw 29, 52(1)		     284: 93 a1 00 34                  	stw 29, 52(1)
     288: 3b a3 00 00                  	addi 29, 3, 0		     288: 3b a3 00 00                  	addi 29, 3, 0
     28c: 80 7d 00 10                  	lwz 3, 16(29)		     28c: 80 7d 00 10                  	lwz 3, 16(29)
     290: 93 81 00 30                  	stw 28, 48(1)		     290: 93 81 00 30                  	stw 28, 48(1)
     294: 1c 63 00 18                  	mulli 3, 3, 24		     294: 1c 63 00 18                  	mulli 3, 3, 24
     298: 83 9d 00 20                  	lwz 28, 32(29)		     298: 83 9d 00 20                  	lwz 28, 32(29)
     29c: 7c 7c 1a 14                  	add 3, 28, 3		     29c: 7c 7c 1a 14                  	add 3, 28, 3
     2a0: 92 a1 00 14                  	stw 21, 20(1)		     2a0: 92 a1 00 14                  	stw 21, 20(1)
     2a4: 7c 1c 18 40                  	cmplw	28, 3		     2a4: 7c 1c 18 40                  	cmplw	28, 3
     2a8: 92 c1 00 18                  	stw 22, 24(1)		     2a8: 92 c1 00 18                  	stw 22, 24(1)
     2ac: 92 e1 00 1c                  	stw 23, 28(1)		     2ac: 92 e1 00 1c                  	stw 23, 28(1)
     2b0: 93 01 00 20                  	stw 24, 32(1)		     2b0: 93 01 00 20                  	stw 24, 32(1)
     2b4: 93 21 00 24                  	stw 25, 36(1)		     2b4: 93 21 00 24                  	stw 25, 36(1)
     2b8: 93 41 00 28                  	stw 26, 40(1)		     2b8: 93 41 00 28                  	stw 26, 40(1)
     2bc: 93 61 00 2c                  	stw 27, 44(1)		     2bc: 93 61 00 2c                  	stw 27, 44(1)
     2c0: 93 c1 00 38                  	stw 30, 56(1)		     2c0: 93 c1 00 38                  	stw 30, 56(1)
     2c4: 40 80 00 ac                  	bf	0, .+172	     2c4: 40 80 00 ac                  	bf	0, .+172
     2c8: 3c 60 00 00                  	lis 3, 0		     2c8: 3c 60 00 00                  	lis 3, 0
     2cc: 3c 80 00 00                  	lis 4, 0		     2cc: 3c 80 00 00                  	lis 4, 0
     2d0: 3c a0 81 00                  	lis 5, -32512		     2d0: 3c a0 81 00                  	lis 5, -32512
     2d4: 3c c0 00 00                  	lis 6, 0		     2d4: 3c c0 00 00                  	lis 6, 0
     2d8: 3b 7c ff e8                  	addi 27, 28, -24	     2d8: 3b 7c ff e8                  	addi 27, 28, -24
     2dc: 3b 40 00 00                  	li 26, 0		     2dc: 3b 40 00 00                  	li 26, 0
     2e0: 3b 23 00 00                  	addi 25, 3, 0		     2e0: 3b 23 00 00                  	addi 25, 3, 0
     2e4: 3b 04 00 00                  	addi 24, 4, 0		     2e4: 3b 04 00 00                  	addi 24, 4, 0
     2e8: 60 b7 02 00                  	ori 23, 5, 512		     2e8: 60 b7 02 00                  	ori 23, 5, 512
     2ec: 3b c6 00 00                  	addi 30, 6, 0		     2ec: 3b c6 00 00                  	addi 30, 6, 0
     2f0: 80 79 00 18                  	lwz 3, 24(25)		     2f0: 80 79 00 18                  	lwz 3, 24(25)
     2f4: 38 80 0d c0                  	li 4, 3520		     2f4: 38 80 0d c0                  	li 4, 3520
     2f8: 38 a0 00 28                  	li 5, 40		     2f8: 38 a0 00 28                  	li 5, 40
     2fc: 82 db 00 1c                  	lwz 22, 28(27)		     2fc: 82 db 00 1c                  	lwz 22, 28(27)
     300: 82 bb 00 24                  	lwz 21, 36(27)		     300: 82 bb 00 24                  	lwz 21, 36(27)
     304: 48 00 00 01                  	bl .+0			     304: 48 00 00 01                  	bl .+0
     308: 7c 64 1b 78                  	mr 4, 3			     308: 7c 64 1b 78                  	mr 4, 3
     30c: 7c 63 00 34                  	cntlzw	3, 3		     30c: 7c 63 00 34                  	cntlzw	3, 3
     310: 28 04 00 00                  	cmplwi	4, 0		     310: 28 04 00 00                  	cmplwi	4, 0
     314: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 	     314: 54 63 df fe                  	rlwinm 3, 3, 27, 31, 
     318: 0f 03 00 00                  	twnei	3, 0		     318: 0f 03 00 00                  	twnei	3, 0
     31c: 41 82 00 34                  	bt	2, .+52		     31c: 41 82 00 34                  	bt	2, .+52
     320: 7c 76 aa 14                  	add 3, 22, 21		     320: 7c 76 aa 14                  	add 3, 22, 21
     324: 93 04 00 10                  	stw 24, 16(4)		     324: 93 04 00 10                  	stw 24, 16(4)
     328: 38 63 ff ff                  	addi 3, 3, -1		     328: 38 63 ff ff                  	addi 3, 3, -1
     32c: 90 64 00 0c                  	stw 3, 12(4)		     32c: 90 64 00 0c                  	stw 3, 12(4)
     330: 7f c3 f3 78                  	mr 3, 30		     330: 7f c3 f3 78                  	mr 3, 30
     334: 93 44 00 00                  	stw 26, 0(4)		     334: 93 44 00 00                  	stw 26, 0(4)
     338: 92 c4 00 04                  	stw 22, 4(4)		     338: 92 c4 00 04                  	stw 22, 4(4)
     33c: 93 44 00 08                  	stw 26, 8(4)		     33c: 93 44 00 08                  	stw 26, 8(4)
     340: 92 e4 00 14                  	stw 23, 20(4)		     340: 92 e4 00 14                  	stw 23, 20(4)
     344: 48 00 00 01                  	bl .+0			     344: 48 00 00 01                  	bl .+0
     348: 54 63 0f fe                  	srwi 3, 3, 31		     348: 54 63 0f fe                  	srwi 3, 3, 31
     34c: 0f 03 00 00                  	twnei	3, 0		     34c: 0f 03 00 00                  	twnei	3, 0
     350: 80 7d 00 10                  	lwz 3, 16(29)		     350: 80 7d 00 10                  	lwz 3, 16(29)
     354: 3b 9c 00 18                  	addi 28, 28, 24		     354: 3b 9c 00 18                  	addi 28, 28, 24
     358: 3b 7b 00 18                  	addi 27, 27, 24		     358: 3b 7b 00 18                  	addi 27, 27, 24
     35c: 80 9d 00 20                  	lwz 4, 32(29)		     35c: 80 9d 00 20                  	lwz 4, 32(29)
     360: 1c 63 00 18                  	mulli 3, 3, 24		     360: 1c 63 00 18                  	mulli 3, 3, 24
     364: 7c 64 1a 14                  	add 3, 4, 3		     364: 7c 64 1a 14                  	add 3, 4, 3
     368: 7c 1c 18 40                  	cmplw	28, 3		     368: 7c 1c 18 40                  	cmplw	28, 3
     36c: 41 80 ff 84                  	bt	0, .+65412	     36c: 41 80 ff 84                  	bt	0, .+65412
     370: 38 60 00 00                  	li 3, 0			     370: 38 60 00 00                  	li 3, 0
     374: 83 c1 00 38                  	lwz 30, 56(1)		     374: 83 c1 00 38                  	lwz 30, 56(1)
     378: 83 a1 00 34                  	lwz 29, 52(1)		     378: 83 a1 00 34                  	lwz 29, 52(1)
     37c: 83 81 00 30                  	lwz 28, 48(1)		     37c: 83 81 00 30                  	lwz 28, 48(1)
     380: 83 61 00 2c                  	lwz 27, 44(1)		     380: 83 61 00 2c                  	lwz 27, 44(1)
     384: 83 41 00 28                  	lwz 26, 40(1)		     384: 83 41 00 28                  	lwz 26, 40(1)
     388: 83 21 00 24                  	lwz 25, 36(1)		     388: 83 21 00 24                  	lwz 25, 36(1)
     38c: 83 01 00 20                  	lwz 24, 32(1)		     38c: 83 01 00 20                  	lwz 24, 32(1)
     390: 82 e1 00 1c                  	lwz 23, 28(1)		     390: 82 e1 00 1c                  	lwz 23, 28(1)
     394: 82 c1 00 18                  	lwz 22, 24(1)		     394: 82 c1 00 18                  	lwz 22, 24(1)
     398: 82 a1 00 14                  	lwz 21, 20(1)		     398: 82 a1 00 14                  	lwz 21, 20(1)
     39c: 80 01 00 44                  	lwz 0, 68(1)		     39c: 80 01 00 44                  	lwz 0, 68(1)
     3a0: 38 21 00 40                  	addi 1, 1, 64		     3a0: 38 21 00 40                  	addi 1, 1, 64
     3a4: 7c 08 03 a6                  	mtlr 0			     3a4: 7c 08 03 a6                  	mtlr 0
     3a8: 4e 80 00 20                  	blr			     3a8: 4e 80 00 20                  	blr

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-21  7:58               ` Nathan Chancellor
@ 2019-07-21 18:01                 ` Segher Boessenkool
  2019-07-22  2:41                   ` Nathan Chancellor
  2019-07-22 10:15                   ` Michael Ellerman
  2019-07-22  0:53                 ` [PATCH] powerpc: Test broken dcbz kbuild test robot
  1 sibling, 2 replies; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-21 18:01 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] powerpc: Test broken dcbz
  2019-07-21  7:58               ` Nathan Chancellor
  2019-07-21 18:01                 ` Segher Boessenkool
@ 2019-07-22  0:53                 ` kbuild test robot
  1 sibling, 0 replies; 22+ messages in thread
From: kbuild test robot @ 2019-07-22  0:53 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: kbuild-all, Segher Boessenkool, Christophe Leroy,
	Michael Ellerman, Benjamin Herrenschmidt, Paul Mackerras,
	linuxppc-dev, linux-kernel, clang-built-linux

[-- Attachment #1: Type: text/plain, Size: 1368 bytes --]

Hi Nathan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3-rc1 next-20190719]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Nathan-Chancellor/powerpc-Test-broken-dcbz/20190722-051054
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/powerpc/mm/mem.c: In function 'clear_user_page':
>> arch/powerpc/mm/mem.c:364:2: error: implicit declaration of function 'broken_clear_page'; did you mean 'bdev_read_page'? [-Werror=implicit-function-declaration]
     broken_clear_page(page);
     ^~~~~~~~~~~~~~~~~
     bdev_read_page
   cc1: all warnings being treated as errors

vim +364 arch/powerpc/mm/mem.c

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 25327 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-21 18:01                 ` Segher Boessenkool
@ 2019-07-22  2:41                   ` Nathan Chancellor
  2019-07-22  6:19                     ` Segher Boessenkool
  2019-07-22 10:15                   ` Michael Ellerman
  1 sibling, 1 reply; 22+ messages in thread
From: Nathan Chancellor @ 2019-07-22  2:41 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

[-- Attachment #1: Type: text/plain, Size: 2413 bytes --]

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

[-- Attachment #2: mem-working.txt --]
[-- Type: text/plain, Size: 19428 bytes --]


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

[-- Attachment #3: mem-broken.txt --]
[-- Type: text/plain, Size: 19642 bytes --]


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

[-- Attachment #4: mem-diff.txt --]
[-- Type: text/plain, Size: 40265 bytes --]


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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22  2:41                   ` Nathan Chancellor
@ 2019-07-22  6:19                     ` Segher Boessenkool
  2019-07-22 17:21                       ` Nick Desaulniers
  0 siblings, 1 reply; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-22  6:19 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Christophe Leroy, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-21 18:01                 ` Segher Boessenkool
  2019-07-22  2:41                   ` Nathan Chancellor
@ 2019-07-22 10:15                   ` Michael Ellerman
  2019-07-22 15:18                     ` Segher Boessenkool
  1 sibling, 1 reply; 22+ messages in thread
From: Michael Ellerman @ 2019-07-22 10:15 UTC (permalink / raw)
  To: Segher Boessenkool, Nathan Chancellor
  Cc: Christophe Leroy, Benjamin Herrenschmidt, Paul Mackerras,
	linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22 10:15                   ` Michael Ellerman
@ 2019-07-22 15:18                     ` Segher Boessenkool
  2019-07-22 23:21                       ` Michael Ellerman
  0 siblings, 1 reply; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-22 15:18 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Nathan Chancellor, Christophe Leroy, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22  6:19                     ` Segher Boessenkool
@ 2019-07-22 17:21                       ` Nick Desaulniers
  2019-07-22 17:58                         ` Segher Boessenkool
  0 siblings, 1 reply; 22+ messages in thread
From: Nick Desaulniers @ 2019-07-22 17:21 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Nathan Chancellor, Christophe Leroy, Michael Ellerman,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, LKML,
	clang-built-linux

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?)

-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22 17:21                       ` Nick Desaulniers
@ 2019-07-22 17:58                         ` Segher Boessenkool
  2019-07-25 21:30                           ` Nick Desaulniers
  0 siblings, 1 reply; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-22 17:58 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Nathan Chancellor, Christophe Leroy, Michael Ellerman,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, LKML,
	clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22 15:18                     ` Segher Boessenkool
@ 2019-07-22 23:21                       ` Michael Ellerman
  2019-07-25 13:22                         ` Segher Boessenkool
  0 siblings, 1 reply; 22+ messages in thread
From: Michael Ellerman @ 2019-07-22 23:21 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Nathan Chancellor, Christophe Leroy, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22 23:21                       ` Michael Ellerman
@ 2019-07-25 13:22                         ` Segher Boessenkool
  0 siblings, 0 replies; 22+ messages in thread
From: Segher Boessenkool @ 2019-07-25 13:22 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Nathan Chancellor, Christophe Leroy, Benjamin Herrenschmidt,
	Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-22 17:58                         ` Segher Boessenkool
@ 2019-07-25 21:30                           ` Nick Desaulniers
  2019-07-29 20:28                             ` Nick Desaulniers
  0 siblings, 1 reply; 22+ messages in thread
From: Nick Desaulniers @ 2019-07-25 21:30 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Nathan Chancellor, Christophe Leroy, Michael Ellerman,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, LKML,
	clang-built-linux, James Y Knight, Joel Stanley, dja

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.
-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] powerpc: slightly improve cache helpers
  2019-07-25 21:30                           ` Nick Desaulniers
@ 2019-07-29 20:28                             ` Nick Desaulniers
  0 siblings, 0 replies; 22+ messages in thread
From: Nick Desaulniers @ 2019-07-29 20:28 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Nathan Chancellor, Christophe Leroy, Michael Ellerman,
	Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, LKML,
	clang-built-linux, James Y Knight, Joel Stanley, dja

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
-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2019-07-29 20:28 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-10  9:24 [PATCH v2] powerpc: slightly improve cache helpers Christophe Leroy
2019-07-08  1:19 ` Michael Ellerman
2019-07-08 19:14   ` Nathan Chancellor
2019-07-09  5:04     ` Christophe Leroy
2019-07-09  6:49       ` Nathan Chancellor
2019-07-19  3:24         ` Nathan Chancellor
2019-07-19 15:23           ` Segher Boessenkool
2019-07-19 16:04             ` Nathan Chancellor
2019-07-21  7:58               ` Nathan Chancellor
2019-07-21 18:01                 ` Segher Boessenkool
2019-07-22  2:41                   ` Nathan Chancellor
2019-07-22  6:19                     ` Segher Boessenkool
2019-07-22 17:21                       ` Nick Desaulniers
2019-07-22 17:58                         ` Segher Boessenkool
2019-07-25 21:30                           ` Nick Desaulniers
2019-07-29 20:28                             ` Nick Desaulniers
2019-07-22 10:15                   ` Michael Ellerman
2019-07-22 15:18                     ` Segher Boessenkool
2019-07-22 23:21                       ` Michael Ellerman
2019-07-25 13:22                         ` Segher Boessenkool
2019-07-22  0:53                 ` [PATCH] powerpc: Test broken dcbz kbuild test robot
2019-07-09 13:35       ` [PATCH v2] powerpc: slightly improve cache helpers Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).