<div dir="ltr">On Wed, Aug 19, 2015 at 7:54 AM, Daniel Sanders <span dir="ltr">&lt;<a href="mailto:Daniel.Sanders@imgtec.com" target="_blank">Daniel.Sanders@imgtec.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-GB">
<div><span class="">
<p class="MsoNormal">On Tue, Aug 18, 2015 at 1:03 PM, Daniel Sanders &lt;<a href="mailto:daniel.sanders@imgtec.com" target="_blank">daniel.sanders@imgtec.com</a>&gt; wrote:<u></u><u></u></p>
<p class="MsoNormal">&gt; &gt; Malta is a development kit with a swappable &#39;core board&#39;. This isn&#39;t represented<br>
&gt; &gt; in the current build system since we&#39;ve only supported a generic MIPS32r2 so<br>
&gt; &gt; far. This patch adds support for the core boards concept by adding<br>
&gt; &gt; subdirectories to the malta target for each core board and adds the I6400 core<br>
&gt; &gt; board which will exercise the MIPS32r6 (and later the MIPS64r6) portions of the<br>
&gt; &gt; mips arch.<br>
&gt; &gt;<br>
&gt; &gt; This required an all targets change to allow having state/ directories one level<br>
&gt; deeper so I thought I ought to have it reviewed before pushing.<u></u><u></u></p>
<p class="MsoNormal">&gt;<u></u> <u></u></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">&gt; Hi Daniel,<br>
&gt; <br>
&gt; We need such feature for other targets as well. Would be useful to create<br>
&gt; subtargets, save space and organize better.<br>
&gt;<br>
&gt; But is there any other reason to create one more level? I thought this could<br>
&gt; be done in the &#39;targets&#39; folder directly. You might have a reason to not do so<br>
&gt; that I would like to understand before having an opinion. Normally I would <br>
&gt; avoid adding a level on the build system.<br>
&gt;<br>
&gt; Regards,<br>
&gt; Vinicius<u></u><u></u></p>
</span><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">Organization was the main reason for the extra directory level. It made sense to me to keep Malta-related things in one place and it also provided an obvious home for the
 common parts of the Makefile (targets/malta/<a href="http://malta-common.mk" target="_blank">malta-common.mk</a>).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">We also use LLVMLinux as a big test case for LLVM&#39;s integrated assembler so there&#39;s a good possibility that we will end up with several core boards in the long run. The major
 ISA groups (MIPS32R2, MIPS64R2, MIPS32R6, MIPS64R6, microMIPS, microMIPSR6) seem the most likely to be needed at some point and within those there&#39;s quite a lot of assembler-relevant variation. For example, the li/dli (load-immediate), and la/dla (load-address)
 macros change behaviour depending on which of the three ABI&#39;s are in use.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">Organization aside, having the malta subtargets side by side (e.g. targets/{malta-big-endian,malta-little-endian,malta-i6400-big-endian,…}) can do everything the proposed
 layout can but lacks somewhere to put the common parts. We&#39;d either have to duplicate the Makefile for each target or pick one subtarget to house <a href="http://malta-common.mk" target="_blank">malta-common.mk</a> and have the others include it. I decided against the duplication for maintenance reasons and
 it felt wrong for one subtarget to include files from a sibling.</span></p></div></div></blockquote><div><br></div><div>Agreed.<br></div><div> <br></div><div>Thanks for the improvement.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="EN-GB"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;" lang="EN-US">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;" lang="EN-US"> Vinicius Tinti [mailto:<a href="mailto:viniciustinti@gmail.com" target="_blank">viniciustinti@gmail.com</a>]
<br>
<b>Sent:</b> 19 August 2015 01:43<br>
<b>To:</b> Daniel Sanders<br>
<b>Cc:</b> llvmlinux<br>
<b>Subject:</b> Re: [llvmlinux] [PATCH 0/2] Make it possible to move state/ directory and support Malta&#39;s core board concept.<u></u><u></u></span></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Aug 18, 2015 at 1:03 PM, Daniel Sanders &lt;<a href="mailto:daniel.sanders@imgtec.com" target="_blank">daniel.sanders@imgtec.com</a>&gt; wrote:<u></u><u></u></p>
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">Malta is a development kit with a swappable &#39;core board&#39;. This isn&#39;t represented<br>
in the current build system since we&#39;ve only supported a generic MIPS32r2 so<br>
far. This patch adds support for the core boards concept by adding<br>
subdirectories to the malta target for each core board and adds the I6400 core<br>
board which will exercise the MIPS32r6 (and later the MIPS64r6) portions of the<br>
mips arch.<br>
<br>
This required an all targets change to allow having state/ directories one level<br>
deeper so I thought I ought to have it reviewed before pushing.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Daniel,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">We need such feature for other targets as well. Would be useful to create<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">subtargets, save space and organize better.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><br>
But is there any other reason to create one more level? I thought this could<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">be done in the &#39;targets&#39; folder directly. You might have a reason to not do so<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">that I would like to understand before having an opinion. Normally I would
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">avoid adding a level on the build system.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Vinicius<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">Daniel Sanders (2):<br>
  Put state files in ${STATEDIR}<br>
  [mips][malta] Added support for core boards and I6400.<br>
<br>
 .gitignore                                         |   16 +<br>
 arch/all/<a href="http://all.mk" target="_blank">all.mk</a>                                    |   48 +-<br>
 arch/all/<a href="http://quilt.mk" target="_blank">quilt.mk</a>                                  |    6 +-<br>
 .../codescape-sdk-img/<a href="http://codescape-sdk-img.mk" target="_blank">codescape-sdk-img.mk</a>         |   69 +<br>
 arch/mips/toolchain/<a href="http://toolchain.mk" target="_blank">toolchain.mk</a>                   |    5 +<br>
 targets/beaglebone/Makefile                        |    4 +-<br>
 targets/cubieboard/Makefile                        |    8 +-<br>
 targets/for-linus/Makefile                         |    6 +-<br>
 targets/for-russel/Makefile                        |    6 +-<br>
 targets/i586/Makefile                              |    6 +-<br>
 targets/ifc6410-linaro/Makefile                    |    6 +-<br>
 targets/ifc6410/Makefile                           |    6 +-<br>
 targets/malta/Makefile                             |   98 +-<br>
 targets/malta/config_malta_big                     | 2566 --------------------<br>
 targets/malta/config_malta_little                  | 2566 --------------------<br>
 targets/malta/default-big-endian/Makefile          |   31 +<br>
 targets/malta/default-big-endian/config            | 2566 ++++++++++++++++++++<br>
 targets/malta/default-little-endian/Makefile       |   31 +<br>
 targets/malta/default-little-endian/config         | 2566 ++++++++++++++++++++<br>
 targets/malta/i6400-big-endian/Makefile            |   34 +<br>
 targets/malta/i6400-big-endian/config              |  194 ++<br>
 targets/malta/i6400-little-endian/Makefile         |   31 +<br>
 targets/malta/i6400-little-endian/config           |  193 ++<br>
 targets/malta/<a href="http://malta-common.mk" target="_blank">malta-common.mk</a>                      |  124 +<br>
 targets/msm/Makefile                               |    4 +-<br>
 targets/nexus4/Makefile                            |    4 +-<br>
 targets/nexus5/Makefile                            |    4 +-<br>
 targets/nexus7/Makefile                            |    4 +-<br>
 targets/panda-linaro/Makefile                      |    8 +-<br>
 targets/rpi/Makefile                               |    4 +-<br>
 targets/rpi2/Makefile                              |    4 +-<br>
 targets/template/Makefile                          |    4 +-<br>
 targets/vexpress/Makefile                          |   32 +-<br>
 targets/vexpress64/Makefile                        |    8 +-<br>
 targets/x86_64-linux-next/Makefile                 |   12 +-<br>
 targets/x86_64/Makefile                            |   12 +-<br>
 targets/x86_64_tiny/Makefile                       |   12 +-<br>
 37 files changed, 5972 insertions(+), 5326 deletions(-)<br>
 create mode 100644 arch/mips/toolchain/codescape-sdk-img/<a href="http://codescape-sdk-img.mk" target="_blank">codescape-sdk-img.mk</a><br>
 delete mode 100644 targets/malta/config_malta_big<br>
 delete mode 100644 targets/malta/config_malta_little<br>
 create mode 100644 targets/malta/default-big-endian/Makefile<br>
 create mode 100644 targets/malta/default-big-endian/config<br>
 create mode 100644 targets/malta/default-little-endian/Makefile<br>
 create mode 100644 targets/malta/default-little-endian/config<br>
 create mode 100644 targets/malta/i6400-big-endian/Makefile<br>
 create mode 100644 targets/malta/i6400-big-endian/config<br>
 create mode 100644 targets/malta/i6400-little-endian/Makefile<br>
 create mode 100644 targets/malta/i6400-little-endian/config<br>
 create mode 100644 targets/malta/<a href="http://malta-common.mk" target="_blank">malta-common.mk</a><br>
<span style="color:#888888"><br>
--<br>
2.1.4<br>
<br>
_______________________________________________<br>
LLVMLinux mailing list<br>
<a href="mailto:LLVMLinux@lists.linuxfoundation.org" target="_blank">LLVMLinux@lists.linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux</a></span><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<br>
-- <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">Simplicity is the ultimate sophistication<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Simplicity is the ultimate sophistication<br></div></div>
</div></div>