<?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>i.MX ProcessorsのトピックRe: Not able to understand this kernel function and android kernel command line</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793089#M122833</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Its nxp's android O source for imx6 devices.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 14 Jul 2018 18:02:46 GMT</pubDate>
    <dc:creator>mrigendra_chaub</dc:creator>
    <dc:date>2018-07-14T18:02:46Z</dc:date>
    <item>
      <title>Not able to understand this kernel function and android kernel command line</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793087#M122831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to understand what happens in these two functions in linux kernel 4.9.17&lt;/P&gt;&lt;P&gt;smp_tlb.c&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;void flush_tlb_kernel_range(unsigned long start, unsigned long end)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; if (tlb_ops_need_broadcast()) {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; struct tlb_args ta;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ta.ta_start = start;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ta.ta_end = end;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; on_each_cpu(ipi_flush_tlb_kernel_range, &amp;amp;ta, 1);&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; } else &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; local_flush_tlb_kernel_range(start, end);//becomes v7wbi_flush_kern_tlb_range(start, end);&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;STRONG&gt; broadcast_tlb_a15_erratum();&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; }&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;tlb_v7.S&lt;BR /&gt; &lt;BR /&gt; &lt;STRONG&gt;/*&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * v7wbi_flush_kern_tlb_range(start,end)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; *&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * Invalidate a range of kernel TLB entries&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; *&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * - start - start address (may not be aligned)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * - end - end address (exclusive, may not be aligned)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ENTRY(v7wbi_flush_kern_tlb_range)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; dsb ish&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; mov r0, r0, lsr #PAGE_SHIFT @ align address&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; mov r1, r1, lsr #PAGE_SHIFT&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; mov r0, r0, lsl #PAGE_SHIFT&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; mov r1, r1, lsl #PAGE_SHIFT&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; 1:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #ifdef CONFIG_ARM_ERRATA_720789&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ALT_SMP(mcr p15, 0, r0, c8, c3, 3) @ TLB invalidate U MVA all ASID (shareable)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #else&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ALT_SMP(mcr p15, 0, r0, c8, c3, 1) @ TLB invalidate U MVA (shareable)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; #endif&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ALT_UP(mcr p15, 0, r0, c8, c7, 1) @ TLB invalidate U MVA&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; add r0, r0, #PAGE_SZ&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; cmp r0, r1&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; blo 1b&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; dsb ish&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; isb&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ret lr&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ENDPROC(v7wbi_flush_kern_tlb_range)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Because I do not have a debugger and my kernel stops after calling local_flush_tlb_kernel_range(start, end); and I do not know how to debug inside this assembly file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also I just copied this from sabresd kernel command line for android&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;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=110f91d4ea9ac958 androidboot.soc_type=imx6qp androidboot.storage_type=sd gpt&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone tell what these variables means to kernel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;vmalloc=128M&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; cma=448M&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; galcore.contiguousSize=33554432&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #242729; background-color: #ffffff;"&gt;How should I change these, on what basis? How can I cross check that these are correct command line options i want?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here in the command line it wants 448MiB of contiguous area, for vmalloc 128M. But isn't it the vmalloc area itself needs to be contiguous, then why two seperate variables?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help or direction will be very helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 08 Jul 2018 15:13:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793087#M122831</guid>
      <dc:creator>mrigendra_chaub</dc:creator>
      <dc:date>2018-07-08T15:13:41Z</dc:date>
    </item>
    <item>
      <title>Re: Not able to understand this kernel function and android kernel command line</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793088#M122832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Which BSP are you using?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jul 2018 01:19:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793088#M122832</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2018-07-12T01:19:38Z</dc:date>
    </item>
    <item>
      <title>Re: Not able to understand this kernel function and android kernel command line</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793089#M122833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Its nxp's android O source for imx6 devices.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 Jul 2018 18:02:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793089#M122833</guid>
      <dc:creator>mrigendra_chaub</dc:creator>
      <dc:date>2018-07-14T18:02:46Z</dc:date>
    </item>
    <item>
      <title>Re: Not able to understand this kernel function and android kernel command line</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793090#M122834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The meaning of parameters can be found in Android User's Guide.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2018 16:18:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Not-able-to-understand-this-kernel-function-and-android-kernel/m-p/793090#M122834</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2018-07-17T16:18:28Z</dc:date>
    </item>
  </channel>
</rss>

