cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

changesets.rst (1548B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3=====================
      4Devicetree Changesets
      5=====================
      6
      7A Devicetree changeset is a method which allows one to apply changes
      8in the live tree in such a way that either the full set of changes
      9will be applied, or none of them will be. If an error occurs partway
     10through applying the changeset, then the tree will be rolled back to the
     11previous state. A changeset can also be removed after it has been
     12applied.
     13
     14When a changeset is applied, all of the changes get applied to the tree
     15at once before emitting OF_RECONFIG notifiers. This is so that the
     16receiver sees a complete and consistent state of the tree when it
     17receives the notifier.
     18
     19The sequence of a changeset is as follows.
     20
     211. of_changeset_init() - initializes a changeset
     22
     232. A number of DT tree change calls, of_changeset_attach_node(),
     24   of_changeset_detach_node(), of_changeset_add_property(),
     25   of_changeset_remove_property, of_changeset_update_property() to prepare
     26   a set of changes. No changes to the active tree are made at this point.
     27   All the change operations are recorded in the of_changeset 'entries'
     28   list.
     29
     303. of_changeset_apply() - Apply the changes to the tree. Either the
     31   entire changeset will get applied, or if there is an error the tree will
     32   be restored to the previous state. The core ensures proper serialization
     33   through locking. An unlocked version __of_changeset_apply is available,
     34   if needed.
     35
     36If a successfully applied changeset needs to be removed, it can be done
     37with of_changeset_revert().