Re: [PATCH] dt-bindings: timer: Add QEMU compatible strings

From: Marc Zyngier
Date: Sun Sep 18 2022 - 05:09:16 EST


On Sun, 18 Sep 2022 09:50:58 +0100,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> On 17/09/2022 19:47, Marc Zyngier wrote:
> > On Sat, 17 Sep 2022 17:51:20 +0100,
> > Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> >>
> >> On 16/09/2022 14:30, Jean-Philippe Brucker wrote:
> >>> QEMU uses both "arm,armv8-timer" and "arm,armv7-timer" as compatible
> >>> string. Although it is unlikely that any guest relies on this, we can't
> >>> be certain of that. Therefore, add these to the schema. Clean up the
> >>> compatible list a little while at it.
> >>>
> >>> Signed-off-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
> >>
> >> I guess you wanted to say QEMU uses "arm,armv8-timer" followed by
> >> "arm,armv7-timer", because otherwise I would understand it that either
> >> that or that. Anyway, is it a valid (virtualized) hardware? Is ARMv8
> >> timer really, really compatible with ARMv7 one?
> >
> > Yes. There isn't a shred of difference between the two in the earlier
> > revisions of the ARMv8 architecture, and none of the differences
> > introduced in later revisions are exposed to DT anyway.
> >
> >> I don't think we should document invalid setups out-of-tree, just
> >> because they are there, and something like this was also expressed by Rob:
> >> https://lore.kernel.org/all/20220518163255.GE3302100-robh@xxxxxxxxxx/
> >
> > This is, on the contrary, something that is perfectly valid. For
> > example, a system running a 32bit OS on a 64bit system is perfectly
> > entitled to expose both (v8 because that's what the HW is, v7 because
> > that's what the OS is the most likely to understand).
> >
> > You may find it odd, but that:
> >
> > - expresses something that is actually required
> >
> > - is what I, as the original author of this binding, have always
> > considered valid
> >
> > - has been valid for a long time (10+ years) before you decided it
> > suddenly wasn't
> >
> > I understand that the "DT police" has high standards, but this has
> > been around for much longer, and it isn't because the conversion to
> > schema is imperfect that you can rewrite history.
> >
> > As for the patch, I'd remove the QEMU reference and the deprecation.
> > This format is perfectly allowed, and is in use in most VMMs out
> > there. Yes, DT is an ABI.
>
> Thanks for the explanation, actually enough was to say that it is
> perfectly valid combination describing hardware. :)

Assuming that the original posting was wrong without understanding the
context is what triggered it. It is absolutely fine not to know these
things, but in this case *do ask questions* rather than dismiss the
patch off the bat based of third hand conclusions.

Now at least you have the full picture.

M.

--
Without deviation from the norm, progress is not possible.