On Fri, 2013-07-26 at 09:27 -0400, Jason Cooper wrote: > > The other dynamic change that bears mentioning here is attributes which > have been configured by the bootloader. For example, in mvebu, we have > the Schrodinger's Cat register. It allows you to reconfigure the base > address of the registers from *within* that register range. If the > bootloader does this, the DT needs to be updated to reflect the current > hardware configuration. Otherwise, the kernel is stuck poking around at > memory addresses hoping to find something sane. > > But this falls into the same category as you mentioned, but outside of > chosen {};. Yeah, /chosen was given as an example of stuff that's almost *exclusively* "configuration" stuff. But there's plenty outside there that can reasonably change. It's OK to change the data, and of *course* the base address reported in the DT should actually match reality *today*, if it changes on the fly. It's not OK to change the *schema* in which those data are expressed. That's the ABI we're talking about. -- dwmw2