With a generic linker tables solution in place we need a general asm solution for declaring entries with asm. The first easy target is to cover the C asm declarations, guard the header file for now and define a first generic entry push_section_tbl() to be used later for custom linker table annotations. Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> --- include/asm-generic/sections.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h index af0254c09424..f5ea98bd85d2 100644 --- a/include/asm-generic/sections.h +++ b/include/asm-generic/sections.h @@ -3,8 +3,10 @@ /* References to section boundaries */ +#ifndef __ASSEMBLY__ #include <linux/compiler.h> #include <linux/types.h> +#include <linux/sections.h> /* * Usage guidelines: @@ -128,4 +130,12 @@ static inline bool init_section_intersects(void *virt, size_t size) return memory_intersects(__init_begin, __init_end, virt, size); } +/* + * Some architectures do not like the "\t" at the end (s39), we should be + * able to generalize this further, but so far this covers most architectures. + */ +#define push_section_tbl(section, name, level, flags) \ + ".pushsection " SECTION_TBL(section,name,level) ", \"" #flags "\"\n\t" +#endif + #endif /* _ASM_GENERIC_SECTIONS_H_ */ -- 2.7.0 -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html