On Fri, Sep 04, 2020 at 02:59:57PM +0200, Thierry Reding wrote: > From: Thierry Reding <tred...@nvidia.com> > > Reserved memory regions can be marked as "active" if hardware is > expected to access the regions during boot and before the operating > system can take control. One example where this is useful is for the > operating system to infer whether the region needs to be identity- > mapped through an IOMMU.
I like simple solutions, but this hardly seems adequate to solve the problem of passing IOMMU setup from bootloader/firmware to the OS. Like what is the IOVA that's supposed to be used if identity mapping is not used? If you know enough about the regions to assume identity mapping, then can't you know if active or not? > Signed-off-by: Thierry Reding <tred...@nvidia.com> > --- > .../bindings/reserved-memory/reserved-memory.txt | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git > a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > index 4dd20de6977f..163d2927e4fc 100644 > --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > @@ -63,6 +63,13 @@ reusable (optional) - empty property > able to reclaim it back. Typically that means that the operating > system can use that region to store volatile or cached data that > can be otherwise regenerated or migrated elsewhere. > +active (optional) - empty property > + - If this property is set for a reserved memory region, it indicates > + that some piece of hardware may be actively accessing this region. > + Should the operating system want to enable IOMMU protection for a > + device, all active memory regions must have been identity-mapped > + in order to ensure that non-quiescent hardware during boot can > + continue to access the memory. > > Linux implementation note: > - If a "linux,cma-default" property is present, then Linux will use the > -- > 2.28.0 >