blob: 2c71dccd1bc3f89d3560f9b6791325670aae8fe7 [file] [log] [blame]
Paul Gortmaker0ef76532016-07-27 12:06:34 +09301#ifndef _LINUX_EXTABLE_H
2#define _LINUX_EXTABLE_H
3
4struct module;
5struct exception_table_entry;
6
7const struct exception_table_entry *
8search_extable(const struct exception_table_entry *first,
9 const struct exception_table_entry *last,
10 unsigned long value);
11void sort_extable(struct exception_table_entry *start,
12 struct exception_table_entry *finish);
13void sort_main_extable(void);
14void trim_init_extable(struct module *m);
15
16/* Given an address, look for it in the exception tables */
17const struct exception_table_entry *search_exception_tables(unsigned long add);
18
19#ifdef CONFIG_MODULES
20/* For extable.c to search modules' exception tables. */
21const struct exception_table_entry *search_module_extables(unsigned long addr);
22#else
23static inline const struct exception_table_entry *
24search_module_extables(unsigned long addr)
25{
26 return NULL;
27}
28#endif /*CONFIG_MODULES*/
29
30#endif /* _LINUX_EXTABLE_H */