Lines Matching refs:table
51 find_unwind_entry_in_table(const struct unwind_table *table, unsigned long addr) in find_unwind_entry_in_table() argument
57 hi = table->length - 1; in find_unwind_entry_in_table()
61 e = &table->table[mid]; in find_unwind_entry_in_table()
76 struct unwind_table *table; in find_unwind_entry() local
86 list_for_each_entry(table, &unwind_tables, list) { in find_unwind_entry()
87 if (addr >= table->start && in find_unwind_entry()
88 addr <= table->end) in find_unwind_entry()
89 e = find_unwind_entry_in_table(table, addr); in find_unwind_entry()
92 list_move(&table->list, &unwind_tables); in find_unwind_entry()
103 unwind_table_init(struct unwind_table *table, const char *name, in unwind_table_init() argument
111 table->name = name; in unwind_table_init()
112 table->base_addr = base_addr; in unwind_table_init()
113 table->gp = gp; in unwind_table_init()
114 table->start = base_addr + start->region_start; in unwind_table_init()
115 table->end = base_addr + end->region_end; in unwind_table_init()
116 table->table = (struct unwind_table_entry *)table_start; in unwind_table_init()
117 table->length = end - start + 1; in unwind_table_init()
118 INIT_LIST_HEAD(&table->list); in unwind_table_init()
151 struct unwind_table *table; in unwind_table_add() local
158 table = kmalloc(sizeof(struct unwind_table), GFP_USER); in unwind_table_add()
159 if (table == NULL) in unwind_table_add()
161 unwind_table_init(table, name, base_addr, gp, start, end); in unwind_table_add()
163 list_add_tail(&table->list, &unwind_tables); in unwind_table_add()
166 return table; in unwind_table_add()
169 void unwind_table_remove(struct unwind_table *table) in unwind_table_remove() argument
174 list_del(&table->list); in unwind_table_remove()
177 kfree(table); in unwind_table_remove()