[llvmlinux] [PATCH 0/2] Make it possible to move state/ directory and support Malta's core board concept.

Vinicius Tinti viniciustinti at gmail.com
Wed Aug 19 17:53:51 UTC 2015


On Wed, Aug 19, 2015 at 7:54 AM, Daniel Sanders <Daniel.Sanders at imgtec.com>
wrote:

> On Tue, Aug 18, 2015 at 1:03 PM, Daniel Sanders <daniel.sanders at imgtec.com>
> wrote:
>
> > > Malta is a development kit with a swappable 'core board'. This isn't
> represented
> > > in the current build system since we've only supported a generic
> MIPS32r2 so
> > > far. This patch adds support for the core boards concept by adding
> > > subdirectories to the malta target for each core board and adds the
> I6400 core
> > > board which will exercise the MIPS32r6 (and later the MIPS64r6)
> portions of the
> > > mips arch.
> > >
> > > This required an all targets change to allow having state/ directories
> one level
> > deeper so I thought I ought to have it reviewed before pushing.
>
> >
>
> > Hi Daniel,
> >
> > We need such feature for other targets as well. Would be useful to create
> > subtargets, save space and organize better.
> >
> > But is there any other reason to create one more level? I thought this
> could
> > be done in the 'targets' folder directly. You might have a reason to not
> do so
> > that I would like to understand before having an opinion. Normally I
> would
> > avoid adding a level on the build system.
> >
> > Regards,
> > Vinicius
>
> 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/
> malta-common.mk).
>
> We also use LLVMLinux as a big test case for LLVM's integrated assembler
> so there'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'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's are in use.
>
>
>
> 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'd either have to duplicate the Makefile for each target or
> pick one subtarget to house malta-common.mk 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.
>

Agreed.

Thanks for the improvement.


>
> *From:* Vinicius Tinti [mailto:viniciustinti at gmail.com]
> *Sent:* 19 August 2015 01:43
> *To:* Daniel Sanders
> *Cc:* llvmlinux
> *Subject:* Re: [llvmlinux] [PATCH 0/2] Make it possible to move state/
> directory and support Malta's core board concept.
>
>
>
> On Tue, Aug 18, 2015 at 1:03 PM, Daniel Sanders <daniel.sanders at imgtec.com>
> wrote:
>
> Malta is a development kit with a swappable 'core board'. This isn't
> represented
> in the current build system since we've only supported a generic MIPS32r2
> so
> far. This patch adds support for the core boards concept by adding
> subdirectories to the malta target for each core board and adds the I6400
> core
> board which will exercise the MIPS32r6 (and later the MIPS64r6) portions
> of the
> mips arch.
>
> This required an all targets change to allow having state/ directories one
> level
> deeper so I thought I ought to have it reviewed before pushing.
>
>
>
> Hi Daniel,
>
> We need such feature for other targets as well. Would be useful to create
>
> subtargets, save space and organize better.
>
>
> But is there any other reason to create one more level? I thought this
> could
>
> be done in the 'targets' folder directly. You might have a reason to not
> do so
>
> that I would like to understand before having an opinion. Normally I would
>
> avoid adding a level on the build system.
>
> Regards,
>
> Vinicius
>
>
>
> Daniel Sanders (2):
>   Put state files in ${STATEDIR}
>   [mips][malta] Added support for core boards and I6400.
>
>  .gitignore                                         |   16 +
>  arch/all/all.mk                                    |   48 +-
>  arch/all/quilt.mk                                  |    6 +-
>  .../codescape-sdk-img/codescape-sdk-img.mk         |   69 +
>  arch/mips/toolchain/toolchain.mk                   |    5 +
>  targets/beaglebone/Makefile                        |    4 +-
>  targets/cubieboard/Makefile                        |    8 +-
>  targets/for-linus/Makefile                         |    6 +-
>  targets/for-russel/Makefile                        |    6 +-
>  targets/i586/Makefile                              |    6 +-
>  targets/ifc6410-linaro/Makefile                    |    6 +-
>  targets/ifc6410/Makefile                           |    6 +-
>  targets/malta/Makefile                             |   98 +-
>  targets/malta/config_malta_big                     | 2566
> --------------------
>  targets/malta/config_malta_little                  | 2566
> --------------------
>  targets/malta/default-big-endian/Makefile          |   31 +
>  targets/malta/default-big-endian/config            | 2566
> ++++++++++++++++++++
>  targets/malta/default-little-endian/Makefile       |   31 +
>  targets/malta/default-little-endian/config         | 2566
> ++++++++++++++++++++
>  targets/malta/i6400-big-endian/Makefile            |   34 +
>  targets/malta/i6400-big-endian/config              |  194 ++
>  targets/malta/i6400-little-endian/Makefile         |   31 +
>  targets/malta/i6400-little-endian/config           |  193 ++
>  targets/malta/malta-common.mk                      |  124 +
>  targets/msm/Makefile                               |    4 +-
>  targets/nexus4/Makefile                            |    4 +-
>  targets/nexus5/Makefile                            |    4 +-
>  targets/nexus7/Makefile                            |    4 +-
>  targets/panda-linaro/Makefile                      |    8 +-
>  targets/rpi/Makefile                               |    4 +-
>  targets/rpi2/Makefile                              |    4 +-
>  targets/template/Makefile                          |    4 +-
>  targets/vexpress/Makefile                          |   32 +-
>  targets/vexpress64/Makefile                        |    8 +-
>  targets/x86_64-linux-next/Makefile                 |   12 +-
>  targets/x86_64/Makefile                            |   12 +-
>  targets/x86_64_tiny/Makefile                       |   12 +-
>  37 files changed, 5972 insertions(+), 5326 deletions(-)
>  create mode 100644 arch/mips/toolchain/codescape-sdk-img/
> codescape-sdk-img.mk
>  delete mode 100644 targets/malta/config_malta_big
>  delete mode 100644 targets/malta/config_malta_little
>  create mode 100644 targets/malta/default-big-endian/Makefile
>  create mode 100644 targets/malta/default-big-endian/config
>  create mode 100644 targets/malta/default-little-endian/Makefile
>  create mode 100644 targets/malta/default-little-endian/config
>  create mode 100644 targets/malta/i6400-big-endian/Makefile
>  create mode 100644 targets/malta/i6400-big-endian/config
>  create mode 100644 targets/malta/i6400-little-endian/Makefile
>  create mode 100644 targets/malta/i6400-little-endian/config
>  create mode 100644 targets/malta/malta-common.mk
>
> --
> 2.1.4
>
> _______________________________________________
> LLVMLinux mailing list
> LLVMLinux at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/llvmlinux
>
>
>
>
> --
>
> Simplicity is the ultimate sophistication
>



-- 
Simplicity is the ultimate sophistication
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20150819/1932232c/attachment-0001.html>


More information about the LLVMLinux mailing list