Lines Matching refs:table
47 find_unwind_entry_in_table(const struct unwind_table *table, unsigned long addr) in find_unwind_entry_in_table() argument
53 hi = table->length - 1; in find_unwind_entry_in_table()
57 e = &table->table[mid]; in find_unwind_entry_in_table()
72 struct unwind_table *table; in find_unwind_entry() local
79 list_for_each_entry(table, &unwind_tables, list) { in find_unwind_entry()
80 if (addr >= table->start && in find_unwind_entry()
81 addr <= table->end) in find_unwind_entry()
82 e = find_unwind_entry_in_table(table, addr); in find_unwind_entry()
85 list_move(&table->list, &unwind_tables); in find_unwind_entry()
94 unwind_table_init(struct unwind_table *table, const char *name, in unwind_table_init() argument
102 table->name = name; in unwind_table_init()
103 table->base_addr = base_addr; in unwind_table_init()
104 table->gp = gp; in unwind_table_init()
105 table->start = base_addr + start->region_start; in unwind_table_init()
106 table->end = base_addr + end->region_end; in unwind_table_init()
107 table->table = (struct unwind_table_entry *)table_start; in unwind_table_init()
108 table->length = end - start + 1; in unwind_table_init()
109 INIT_LIST_HEAD(&table->list); in unwind_table_init()
141 struct unwind_table *table; in unwind_table_add() local
148 table = kmalloc(sizeof(struct unwind_table), GFP_USER); in unwind_table_add()
149 if (table == NULL) in unwind_table_add()
151 unwind_table_init(table, name, base_addr, gp, start, end); in unwind_table_add()
153 list_add_tail(&table->list, &unwind_tables); in unwind_table_add()
156 return table; in unwind_table_add()
159 void unwind_table_remove(struct unwind_table *table) in unwind_table_remove() argument
164 list_del(&table->list); in unwind_table_remove()
167 kfree(table); in unwind_table_remove()