User: Password:
Subscribe / Log in / New account

ARM wrestling

ARM wrestling

Posted Apr 7, 2011 14:07 UTC (Thu) by arnd (subscriber, #8866)
Parent article: ARM wrestling

Just to clarify: My suggestion was not to create a new architecture tree to replace the entire ARM code, but to create a new subarchitecture along with the existing ones inside of the ARM architecture tree.

There is no need to duplicate the core code for this, but I think a lot of social problems stem from the fact that every subarchitecture currently acts as a separate universe with very little incentive for subarchitecture maintainers to work together. Having just a single subarchitecture for all modern SoCs would force people to care about the quality of the other company's code.

(Log in to post comments)

ARM wrestling

Posted Apr 8, 2011 13:14 UTC (Fri) by tdwebste (guest, #18154) [Link]

"a single subarchitecture for all modern SoCs"

Perhaps I don't see how this all fits together. I am interested.

Each SoC differs in varying degrees. And is integrated into boards which differ in varying degrees. Which connects to a variety subcomponents.

Just about anybody who uses a board ends up being a kernel developer, writing SPI driver code if nothing else. There is a huge variation in skill. I don't see how a single subarchitecture can ever keep up with the growth in variations.

I would be happy if each variation was a branch, with branch maintainers.

ARM wrestling

Posted Apr 8, 2011 15:23 UTC (Fri) by arnd (subscriber, #8866) [Link]

There are multiple things currently in per-subarchitecture trees:

* Board specific code:
Should not really be needed as much, and does not hurt cross-subarchitecture integration.

* Device drivers (irq, timer, iommu, gpio):
Are well abstracted, have any number of them. These are most significant hardware differences, but they don't need to be hardcoded at all.

* Duplicated infrastructure files:
This is what we want to get rid of really. E.g. all the mach/*.h header files keep us from building a single kernel for all SoCs, so we should remove them.

ARM wrestling

Posted Apr 8, 2011 18:28 UTC (Fri) by dlang (subscriber, #313) [Link]

the discussion on linux-kernel has shown that a lot of the drivers are not well abstracted, that has been identified as a significant part of the problem

ARM wrestling

Posted Apr 8, 2011 21:37 UTC (Fri) by arnd (subscriber, #8866) [Link]

I think what the discussion has shown is that a number of drivers are not well written and could be made more generic rather than duplicated. They are however reasonably well abstracted in the way that it's possible to exchange e.g. one interrupt controller for another one and have everything else still work.

There are still areas that need a lot of improvement here, but it's not standing in the way of generalizing the subarchitectures.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds