Lines Matching full:hook
86 * If we wait too long for an interrupt-driven config hook to return, print
124 * If hook processing is already active, any newly in run_interrupt_driven_config_hooks()
178 * Register a hook that will be called after "cold"
183 config_intrhook_establish(struct intr_config_hook *hook) in config_intrhook_establish() argument
190 if (hook_entry == hook) in config_intrhook_establish()
195 "already established hook.\n"); in config_intrhook_establish()
198 STAILQ_INSERT_TAIL(&intr_config_hook_list, hook, ich_links); in config_intrhook_establish()
200 next_to_notify = hook; in config_intrhook_establish()
201 hook->ich_state = ICHS_QUEUED; in config_intrhook_establish()
206 * to be re-entered at the time a hook is established. in config_intrhook_establish()
214 * Register a hook function that is automatically unregistered after it runs.
230 config_intrhook_disestablish_locked(struct intr_config_hook *hook) in config_intrhook_disestablish_locked() argument
235 if (hook_entry == hook) in config_intrhook_disestablish_locked()
239 "unestablished hook"); in config_intrhook_disestablish_locked()
241 if (next_to_notify == hook) in config_intrhook_disestablish_locked()
242 next_to_notify = STAILQ_NEXT(hook, ich_links); in config_intrhook_disestablish_locked()
243 STAILQ_REMOVE(&intr_config_hook_list, hook, intr_config_hook, ich_links); in config_intrhook_disestablish_locked()
247 hook->ich_state = ICHS_DONE; in config_intrhook_disestablish_locked()
252 config_intrhook_disestablish(struct intr_config_hook *hook) in config_intrhook_disestablish() argument
255 config_intrhook_disestablish_locked(hook); in config_intrhook_disestablish()
260 config_intrhook_drain(struct intr_config_hook *hook) in config_intrhook_drain() argument
265 * The config hook has completed, so just return. in config_intrhook_drain()
267 if (hook->ich_state == ICHS_DONE) { in config_intrhook_drain()
273 * The config hook hasn't started running, just call disestablish. in config_intrhook_drain()
275 if (hook->ich_state == ICHS_QUEUED) { in config_intrhook_drain()
276 config_intrhook_disestablish_locked(hook); in config_intrhook_drain()
282 * The config hook is running, so wait for it to complete and return. in config_intrhook_drain()
284 while (hook->ich_state != ICHS_DONE) { in config_intrhook_drain()
307 db_printf("hook: %p at %s+%#lx arg: %p\n", in DB_SHOW_COMMAND_FLAGS()
311 db_printf("hook: %p at ??+?? arg %p\n", in DB_SHOW_COMMAND_FLAGS()