Content-Length: 10503 | pFad | https://lwn.net/headlines/357487/

LWN: Comments on "KS2009: Generic device trees" https://lwn.net/Articles/357487/ This is a special feed containing comments posted to the individual LWN article titled "KS2009: Generic device trees". en-us Tue, 25 Feb 2025 10:25:54 +0000 Tue, 25 Feb 2025 10:25:54 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net KS2009: Generic device trees https://lwn.net/Articles/360294/ https://lwn.net/Articles/360294/ johill <div class="FormattedComment"> Eh? I hate to say it, but your comment reads a lot like FUD.<br> <p> First of all, I think you're confused about how the DT bindings are created -- there's no "committee" or "outside 'experts'" involved. Yes, there's peer review of bindings, but from what I've seen it's been mostly technical.<br> <p> Then, you're ignoring the fact that DTs work very well for a large number of boards. Yes, there will be new types of devices that need new drivers ... invariably, boards don't just get faster! But they still include a plethora of standard devices. Serial ports, RAM, IRQ routing, PCI(e) busses, etc. None of that is usually re-architected every time a new board is created, that would be way too expensive!<br> <p> As a result DTs can (and in practice do, I've seen it done) solve a large percentage of a new board port, up to 100%.<br> </div> Wed, 04 Nov 2009 10:18:45 +0000 KS2009: Generic device trees https://lwn.net/Articles/360285/ https://lwn.net/Articles/360285/ HalfMoon <p>Those trees are a way to communicate <em>standard</em> information. But embedded boards have little of that. They're heavy on the customization, the one-off, the new-in-this-revision stuff. <p>See, that's the reason <em>these "trees" don't work so well</em>. Hardware is very customizable. New chips come out all the time and they need a lot more information. This one has a dozen pins for random uses that drivers need to understand about, or in some cases board setup code. Three other variants of the chip have *different* uses for those pins, and need very different configuration. NOT STANDARD. Gotta come up with some way to cram it into the device tree. Committee negotiations slow that process down. Multiply that by, say, six instances of that problem on your new board that's got to enter testing next quarter... <p>And when you get to the point where some "device tree" can solve that ... you're really just growing chip-specific customizations, which still require C code to handle. At that point, there's no benefit to having to come up with some board or chip specific declarations in the "device" tree and then come up with corresponding C code. Easier to just have the C code to cope with, and to do it without needing to involve outside "experts" who have their own ideas about how your hardware should work, and don't have your own product timetables (or success) as priorities. Who may want some fancy Architecting before they add new mechanisms... <p>The reason some folk like that stuff is that when you can use it, you're starting with a simple problem. That's why there's a time saving: they're both derived from having simple hardware. But a LOT of hardware is nowhere near simple &mdash; or regular! &mdash; enough to use that approach. Wed, 04 Nov 2009 10:00:45 +0000 KS2009: Generic device trees https://lwn.net/Articles/359214/ https://lwn.net/Articles/359214/ roelofs <FONT COLOR="#004488"><I>btw, "You're putting Descartes before a gift horse so he can look in its mouth" deserves some sort of award.</I></FONT> <P> The "Quip with Existential Mixed-metaphor Undertones" Award? <P> :-) Wed, 28 Oct 2009 20:11:39 +0000 KS2009: Generic device trees https://lwn.net/Articles/358521/ https://lwn.net/Articles/358521/ nix <div class="FormattedComment"> Aha. I see. (Not that I was really 'objecting', it was less strenous than <br> that.)<br> <p> btw, "You're putting Descartes before a gift horse so he can look in its <br> mouth" deserves some sort of award.<br> <p> </div> Sat, 24 Oct 2009 20:06:12 +0000 KS2009: Generic device trees https://lwn.net/Articles/358517/ https://lwn.net/Articles/358517/ landley <div class="FormattedComment"> You're putting Descartes before a gift horse so he can look in its mouth.<br> <p> The lack of a device tree has made emulating new boards extremely fiddly. A board is essentially a collection of devices. So the lack of variety in hardware peripheral emulation is a _symptom_ of what I'm talking about. Bringing up the symptom as an objection to the proposed solution seems weird to me.<br> <p> You've missed the point at a more fundamental level: QEMU currently isn't about kernels, it's about userspace. It has "a hard drive", "a network card", "a sound card", and so on. Doesn't currently matter which, they're just there to do a job by connecting the emulated environment to the host. They're not there to regression test your drivers.<br> <p> Once you've booted into a working userspace, you can run (even natively build) a PPC version of arbitrary packages on a standard laptop. A developer can regression test their software on various different targets from a cron job or from a coffee shop, without needing to drag a half-dozen different hardware boxes around.<br> <p> And you can point an upstream package maintainer at a tarball like <a href="http://impactlinux.com/code/firmware/downloads/binaries/system-image-armv5l.tar.bz2">http://impactlinux.com/code/firmware/downloads/binaries/s...</a> and tell them: download that, extract it, execute the "./run-emulator.sh" script, cd /home, wget your source tarball from the internet and build it in there, and then do THIS to reproduce the problem I'm seeing on arm. (The fact they didn't have an arm environment in which to reproduce the problem? No longer an issue, here's one that runs under qemu.)<br> <p> That's useful today.<br> <p> Adding device tree support would make it useful in additional contexts, able to more closely emulate a wider range of boards out there. Then it could _start_ being a good thing to regression test kernels against, at some point in the future.<br> <p> Rob<br> </div> Sat, 24 Oct 2009 19:16:27 +0000 KS2009: Generic device trees https://lwn.net/Articles/358488/ https://lwn.net/Articles/358488/ nix <div class="FormattedComment"> Yeah, theoretically. If QEMU's emulated hardware wasn't a very limited <br> selection of antiquated stuff then this might be useful :))<br> <p> (well, with virtualization hardware now allowing one VM to gain dedicated <br> access to one hardware device, QEMU could use the core kernel's driver for <br> that device: the device tree thing might be useful there. But I'm not <br> really sure how common that is. SR-IOV might make it actually useful even <br> if you run more than one VM at once :) )<br> </div> Sat, 24 Oct 2009 11:24:58 +0000 KS2009: Generic device trees https://lwn.net/Articles/358465/ https://lwn.net/Articles/358465/ landley <div class="FormattedComment"> It also potentially makes life for QEMU, which can take a flattened device tree and parse it to know what emulated hardware to _provide_, and then the built in bootloader (the -kernel option) can feed that device tree on to the kernel.<br> </div> Sat, 24 Oct 2009 05:13:14 +0000 KS2009: Generic device trees https://lwn.net/Articles/357602/ https://lwn.net/Articles/357602/ klossner <i>Device trees are an attempt to move that information out of the code and into a separate data structure.</i><p> More to the point, device trees are a standard way for the boot code to communicate platform configuration to the kernel. For example, the kernel needs to be told how much RAM exists. The device tree replaces a hodgepodge of ad hoc "boot records," "BIOS information structures," and hyper-extensions of the kernel cmdline. Mon, 19 Oct 2009 21:42:00 +0000








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://lwn.net/headlines/357487/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy