Lines Matching +full:free +full:- +full:standing
2 * This library is free software; you can redistribute it and/or
4 * License as published by the Free Software Foundation; either
25 FIELD(reg, field, 64 - (start + len), len)
30 * 0 - stop out-standing watchdogs on timeout,
31 * 1 - leave outstanding watchdogs running on timeout
35 /* Bits 48-55: "operation" */
42 /* Bits 56-63: "timeoutAction" */
56 * Bits 0-15: The minimum supported timeout in milliseconds
57 * Bits 16-31: The number of watchdogs supported
58 * Bits 32-63: Reserved
78 if (timer_pending(&w->timer)) { in watchdog_stop()
79 timer_del(&w->timer); in watchdog_stop()
92 for (i = 1; i <= ARRAY_SIZE(spapr->wds); ++i) { in watchdog_stop_all()
93 target_ulong r = watchdog_stop(i, &spapr->wds[i - 1]); in watchdog_stop_all()
108 unsigned num = w - spapr->wds; in watchdog_expired()
110 g_assert(num < ARRAY_SIZE(spapr->wds)); in watchdog_expired()
111 trace_spapr_watchdog_expired(num, w->action); in watchdog_expired()
112 switch (w->action) { in watchdog_expired()
125 if (!w->leave_others) { in watchdog_expired()
136 target_ulong watchdogNumber = args[1]; /* 1-Based per PAPR */ in h_watchdog()
148 if (watchdogNumber > ARRAY_SIZE(spapr->wds)) { in h_watchdog()
155 w = &spapr->wds[watchdogNumber - 1]; in h_watchdog()
160 w->action = timeoutAction; in h_watchdog()
165 w->leave_others = FIELD_EX64(flags, PSERIES_WDTF, LEAVE_OTHER); in h_watchdog()
166 timer_mod(&w->timer, in h_watchdog()
173 } else if (watchdogNumber <= ARRAY_SIZE(spapr->wds)) { in h_watchdog()
175 &spapr->wds[watchdogNumber - 1]); in h_watchdog()
183 ARRAY_SIZE(spapr->wds)); in h_watchdog()
187 if (watchdogNumber > ARRAY_SIZE(spapr->wds)) { in h_watchdog()
204 for (i = 0; i < ARRAY_SIZE(spapr->wds); ++i) { in spapr_watchdog_init()
206 SpaprWatchdog *w = &spapr->wds[i]; in spapr_watchdog_init()
208 snprintf(name, sizeof(name) - 1, "wdt%d", i + 1); in spapr_watchdog_init()
221 return timer_pending(&w->timer); in watchdog_needed()
242 timer_init_ms(&w->timer, QEMU_CLOCK_VIRTUAL, watchdog_expired, w); in spapr_wdt_realize()
245 (uint64_t *)&w->timer.expire_time, in spapr_wdt_realize()
247 object_property_add_uint8_ptr(o, "action", &w->action, OBJ_PROP_FLAG_READ); in spapr_wdt_realize()
249 &w->leave_others, OBJ_PROP_FLAG_READ); in spapr_wdt_realize()
256 dc->realize = spapr_wdt_realize; in spapr_wdt_class_init()
257 dc->vmsd = &vmstate_wdt; in spapr_wdt_class_init()
258 dc->user_creatable = false; in spapr_wdt_class_init()