1/* 2 * Copyright 2014, General Dynamics C4 Systems 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7#pragma once 8 9#ifdef CONFIG_DEBUG_BUILD 10 11/* helpers */ 12void add_to_seen(cap_t c); 13void reset_seen_list(void); 14bool_t seen(cap_t c); 15bool_t same_cap(cap_t a, cap_t b); 16bool_t root_or_idle_tcb(tcb_t *tcb); 17 18/* common */ 19void obj_tcb_print_cnodes(cap_t cnode, tcb_t *tcb); 20void print_caps(void); 21void print_objects(void); 22void print_cap(cap_t cap); 23void print_object(cap_t cap); 24 25void obj_tcb_print_attrs(tcb_t *tcb); 26void obj_sc_print_attrs(cap_t sc); 27void obj_cnode_print_attrs(cap_t cnode); 28void obj_ut_print_attrs(cte_t *slot, tcb_t *tcb); 29 30void obj_tcb_print_slots(tcb_t *tcb); 31void obj_cnode_print_slots(tcb_t *tcb); 32void obj_irq_print_slots(cap_t irq_cap); 33void obj_irq_print_maps(void); 34 35void cap_ep_print_attrs(cap_t ep); 36void cap_ntfn_print_attrs(cap_t ntfn); 37void cap_cnode_print_attrs(cap_t cnode); 38 39/* arch specific functions */ 40void print_ipc_buffer_slot(tcb_t *tcb); 41/* TBD: currently the capDL extractor declaring an object for every entry in the vspace. 42 * However, frames can be mapped into multiple locations but sould only be declared once. 43 */ 44void obj_vtable_print_slots(tcb_t *tcb); 45word_t get_tcb_sp(tcb_t *tcb); 46void print_cap_arch(cap_t cap); 47void print_object_arch(cap_t cap); 48void obj_tcb_print_vtable(tcb_t *tcb); 49 50#endif 51