<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic linux kernel stuck in paging_init function in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789233#M122323</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;reference board : i.mx6q sabresd, kernel version : 4.9.17&lt;/P&gt;&lt;P&gt;Starting kernel ...&lt;BR /&gt; &lt;BR /&gt; &lt;STRONG&gt;[ 0.000000] Booting Linux on physical CPU 0x0&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Linux version 4.9.17-04736-ga88711e-dirty (mrigendra.chaubey@CPU-384U) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #6 SMP PREEMPT Sun Jul 8 12:13:44 IST 2018&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] OF: fdt:Machine model: Freescale i.MX6 Quad SABRE Smart Device Board&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: Reserved 448 MiB at 0x2a000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory policy: Data cache writealloc&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: start: da000000 end: f6000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] percpu: Embedded 15 pages/cpu @f6eb6000 s31040 r8192 d22208 u61440&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260368&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Kernel command line: console=ttymxc0,115200 init=/init earlyprintk video=mxcfb0:dev=ldb,fbpix=RGB32,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=448M galcore.contiguousSize=33554432 buildvariant=userdebug androidboot.serialno=071f21d4d72d7372 androidboot.soc_type=imx6q androidboot.storage_type=sd gpt&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory: 556280K/1048576K available (13312K kernel code, 1121K rwdata, 4300K rodata, 1024K init, 612K bss, 33544K reserved, 458752K cma-reserved, 139264K highmem)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Virtual kernel memory layout:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] vmalloc : 0xf8000000 - 0xff800000 ( 120 MB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] lowmem : 0xc0000000 - 0xf7800000 ( 888 MB)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Above logs are from a working sabresd logs. My source are taken from nxp's android O source.&lt;BR /&gt;I am porting android on our custom board, and my logs are stuck here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Uncompressing Linux... done, booting the kernel.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Booting Linux on physical CPU 0x0&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Linux version 4.9.17 (mrigendra.chaubey@CPU-384U) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #23 SMP PREEMPT Sat Jul 7 23:29:19 IST 2018&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] OF: fdt:Machine model: Freescale i.MX6 DualLite Navico Board&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] bootconsole [earlycon0] enabled&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: early_cma(448M)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: dma_contiguous_reserve(limit ffffffff)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: dma_contiguous_reserve: reserving 448 MiB for global area&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: cma_declare_contiguous(size 0x1c000000, base 0x00000000, limit 0x50000000 alignment 0x00000000)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: Reserved 448 MiB at 0x2a000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory policy: Data cache writealloc&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: build_mem_type_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: build_mem_type_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: prepare_page_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: map_lowmem done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: memblock_set_current_limit done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGdna-mapping.c: dma_contiguous_remap1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGdna-mapping.c: dma_contiguous_remap2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: start: da000000 end: f6000000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;&amp;gt;ported kernel stuck here&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both boards are configured for vmsplit_3g.&lt;/P&gt;&lt;P&gt;My setup_arch call is not completed due to some issue that I am not able to find, this is the call flow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;start_kernel &amp;gt; setup_arch &amp;gt; paging_init &amp;gt; dma_contiguous_remap &amp;gt; flush_kernel_tlb_range &amp;gt; local_flush_tlb_range&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one thing I am not able to understand where this function go,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;local_flush_tlb_kernel_range(start, end);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the start and end I printed just above local_flush_tlb_kernel_range(start, end) call in function flush_tlb_kernel_range.&lt;/P&gt;&lt;P&gt;In my case and in nxp sabre case this is local_flush_tlb_kernel_range becomes,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;struct cpu_tlb_fns {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; void (*flush_user_range)(unsigned long, unsigned long, struct vm_area_struct *);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; void (*flush_kern_range)(unsigned long, unsigned long);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; unsigned long tlb_flags;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; };&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #ifdef MULTI_TLB&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;STRONG&gt; #define __cpu_flush_user_tlb_range cpu_tlb.flush_user_range&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #define __cpu_flush_kern_tlb_range cpu_tlb.flush_kern_range&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; extern struct cpu_tlb_fns cpu_tlb;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I thought that somewhere in kernel &lt;STRONG&gt;flush_kern_range&lt;/STRONG&gt;&amp;nbsp;will be defined but I am not able to find that definition&lt;/P&gt;&lt;P&gt;So&lt;/P&gt;&lt;P&gt;1. I have this idea that setup_arch have nothing to do with my board specific functions and its a generic call to all arm architectures.&lt;/P&gt;&lt;P&gt;2. I tried to put sabresd dtb in uboot, so that if something related to memory is done inside it, atleast that much initialisation will happen, same result as this.&lt;/P&gt;&lt;P&gt;3. Tried to put pr_info until I could not find defenition of the function flush_kern_range. In nxp sabre this function is called again and again.&lt;/P&gt;&lt;P&gt;Can anyone help me with some of the points.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 08 Jul 2018 07:45:44 GMT</pubDate>
    <dc:creator>mrigendra_chaub</dc:creator>
    <dc:date>2018-07-08T07:45:44Z</dc:date>
    <item>
      <title>linux kernel stuck in paging_init function</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789233#M122323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;reference board : i.mx6q sabresd, kernel version : 4.9.17&lt;/P&gt;&lt;P&gt;Starting kernel ...&lt;BR /&gt; &lt;BR /&gt; &lt;STRONG&gt;[ 0.000000] Booting Linux on physical CPU 0x0&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Linux version 4.9.17-04736-ga88711e-dirty (mrigendra.chaubey@CPU-384U) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #6 SMP PREEMPT Sun Jul 8 12:13:44 IST 2018&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] OF: fdt:Machine model: Freescale i.MX6 Quad SABRE Smart Device Board&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: Reserved 448 MiB at 0x2a000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory policy: Data cache writealloc&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: start: da000000 end: f6000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] percpu: Embedded 15 pages/cpu @f6eb6000 s31040 r8192 d22208 u61440&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260368&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Kernel command line: console=ttymxc0,115200 init=/init earlyprintk video=mxcfb0:dev=ldb,fbpix=RGB32,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=448M galcore.contiguousSize=33554432 buildvariant=userdebug androidboot.serialno=071f21d4d72d7372 androidboot.soc_type=imx6q androidboot.storage_type=sd gpt&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory: 556280K/1048576K available (13312K kernel code, 1121K rwdata, 4300K rodata, 1024K init, 612K bss, 33544K reserved, 458752K cma-reserved, 139264K highmem)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Virtual kernel memory layout:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] vmalloc : 0xf8000000 - 0xff800000 ( 120 MB)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] lowmem : 0xc0000000 - 0xf7800000 ( 888 MB)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Above logs are from a working sabresd logs. My source are taken from nxp's android O source.&lt;BR /&gt;I am porting android on our custom board, and my logs are stuck here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Uncompressing Linux... done, booting the kernel.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Booting Linux on physical CPU 0x0&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Linux version 4.9.17 (mrigendra.chaubey@CPU-384U) (gcc version 4.9.x 20150123 (prerelease) (GCC) ) #23 SMP PREEMPT Sat Jul 7 23:29:19 IST 2018&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] OF: fdt:Machine model: Freescale i.MX6 DualLite Navico Board&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] bootconsole [earlycon0] enabled&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: early_cma(448M)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: dma_contiguous_reserve(limit ffffffff)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: dma_contiguous_reserve: reserving 448 MiB for global area&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: cma_declare_contiguous(size 0x1c000000, base 0x00000000, limit 0x50000000 alignment 0x00000000)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] cma: Reserved 448 MiB at 0x2a000000&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] Memory policy: Data cache writealloc&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: build_mem_type_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: build_mem_type_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: prepare_page_table done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: map_lowmem done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGmmu.c: memblock_set_current_limit done&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGdna-mapping.c: dma_contiguous_remap1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGdna-mapping.c: dma_contiguous_remap2&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: flush_tlb_kernel_range1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; [ 0.000000] ##DEBUGsmb_tlb.c: start: da000000 end: f6000000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;&amp;gt;ported kernel stuck here&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both boards are configured for vmsplit_3g.&lt;/P&gt;&lt;P&gt;My setup_arch call is not completed due to some issue that I am not able to find, this is the call flow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;start_kernel &amp;gt; setup_arch &amp;gt; paging_init &amp;gt; dma_contiguous_remap &amp;gt; flush_kernel_tlb_range &amp;gt; local_flush_tlb_range&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one thing I am not able to understand where this function go,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;local_flush_tlb_kernel_range(start, end);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the start and end I printed just above local_flush_tlb_kernel_range(start, end) call in function flush_tlb_kernel_range.&lt;/P&gt;&lt;P&gt;In my case and in nxp sabre case this is local_flush_tlb_kernel_range becomes,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;struct cpu_tlb_fns {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; void (*flush_user_range)(unsigned long, unsigned long, struct vm_area_struct *);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; void (*flush_kern_range)(unsigned long, unsigned long);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; unsigned long tlb_flags;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; };&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #ifdef MULTI_TLB&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;STRONG&gt; #define __cpu_flush_user_tlb_range cpu_tlb.flush_user_range&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #define __cpu_flush_kern_tlb_range cpu_tlb.flush_kern_range&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; extern struct cpu_tlb_fns cpu_tlb;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I thought that somewhere in kernel &lt;STRONG&gt;flush_kern_range&lt;/STRONG&gt;&amp;nbsp;will be defined but I am not able to find that definition&lt;/P&gt;&lt;P&gt;So&lt;/P&gt;&lt;P&gt;1. I have this idea that setup_arch have nothing to do with my board specific functions and its a generic call to all arm architectures.&lt;/P&gt;&lt;P&gt;2. I tried to put sabresd dtb in uboot, so that if something related to memory is done inside it, atleast that much initialisation will happen, same result as this.&lt;/P&gt;&lt;P&gt;3. Tried to put pr_info until I could not find defenition of the function flush_kern_range. In nxp sabre this function is called again and again.&lt;/P&gt;&lt;P&gt;Can anyone help me with some of the points.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 08 Jul 2018 07:45:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789233#M122323</guid>
      <dc:creator>mrigendra_chaub</dc:creator>
      <dc:date>2018-07-08T07:45:44Z</dc:date>
    </item>
    <item>
      <title>Re: linux kernel stuck in paging_init function</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789234#M122324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have the same problem. Does anybody have some fix for this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jul 2018 22:37:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789234#M122324</guid>
      <dc:creator>ralf_yang</dc:creator>
      <dc:date>2018-07-09T22:37:01Z</dc:date>
    </item>
    <item>
      <title>Re: linux kernel stuck in paging_init function</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789235#M122325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I removed vma and galcore.contiguous from kernel boot parameters. Then it didn't stuck here.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jul 2018 06:48:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/linux-kernel-stuck-in-paging-init-function/m-p/789235#M122325</guid>
      <dc:creator>mrigendra_chaub</dc:creator>
      <dc:date>2018-07-11T06:48:49Z</dc:date>
    </item>
  </channel>
</rss>

