Lines Matching +full:touch +full:- +full:enter

18 ----------------
43 have some non-deterministic state they want to reinitialize to a different
45 must not reinitialize on a snapshot-load reset.
49 its devices during wake-up (from the ``MachineClass::wakeup()`` method), this
51 type to differentiate the reset requested during machine wake-up from other
52 reset requests. For example, RAM content must not be lost during wake-up, and
53 memory devices like virtio-mem that provide additional RAM must not reset
54 such state during wake-ups, but might do so during cold resets. However, this
55 reset type should not be used for wake-up detection, as not every machine
56 type issues a device reset request during wake-up.
60 processing, and clears the TLB, but does not touch register contents.
65 FPC, timer and control registers. It does not touch gprs, fprs or acrs.
78 maintaining a count of in-progress resets; it is crucial to call
88 non-resettable object and it will trigger a run time assert error. Since most
94 - ``device_cold_reset()``
95 - ``bus_cold_reset()``
101 Device and bus functions co-exist because there can be semantic differences
109 Multi-phase mechanism
110 ---------------------
114 The resettable interface uses a multi-phase system to relieve objects and
124 1. The **enter** phase is executed when the object enters reset. It resets only
125 local state of the object; it must not do anything that has a side-effect
130 group which is being reset has had its *enter* phase executed. At this point
137 count is used to ensure phases are executed only when required. *enter* and
147 during either 'enter' or 'hold' phases. IOMMUs are expected to reset during
153 -------------------------------------
164 phase of the reset; they are name ``phases.enter()``, ``phases.hold()`` and
165 ``phases.exit()``. They all take the object as parameter. The *enter* method
181 /* call parent class enter phase */
182 if (myclass->parent_phases.enter) {
183 myclass->parent_phases.enter(obj, type);
186 mydev->var = 0;
194 if (myclass->parent_phases.hold) {
195 myclass->parent_phases.hold(obj, type);
198 qemu_set_irq(mydev->irq, 1);
206 if (myclass->parent_phases.exit) {
207 myclass->parent_phases.exit(obj, type);
210 qemu_set_irq(mydev->irq, 0);
227 &myclass->parent_phases);
233 only override the *enter* phase and leave *hold* and *exit* untouched::
236 &myclass->parent_phases);
248 An object is under reset from the beginning of the *enter* phase (before
249 either its children or its own enter method is called) to the *exit*
250 phase. During *enter* and *hold* phase only, the function will return that the
270 ----------------------------
314 a reset operation it must be used only in *hold* phase. Using it in *enter* or
317 do so: the function is a no-op as long as old and new parent are NULL or not
329 ----------------------------
349 the three-phase mechanism listed above. It resets all objects
363 rather than from ``TYPE_SYS_BUS_DEVICE`` or some other plugs-into-a-bus