diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/apos/compiler_attributes.h | 6 | ||||
| -rw-r--r-- | include/apos/init.h | 9 | ||||
| -rw-r--r-- | include/apos/link.lds.h | 45 | ||||
| -rw-r--r-- | include/apos/main.h | 8 | ||||
| -rw-r--r-- | include/apos/sizes.h | 59 |
5 files changed, 127 insertions, 0 deletions
diff --git a/include/apos/compiler_attributes.h b/include/apos/compiler_attributes.h new file mode 100644 index 0000000..45b7ac3 --- /dev/null +++ b/include/apos/compiler_attributes.h @@ -0,0 +1,6 @@ +#ifndef APOS_COMPILER_ATTRIBUTES_H + +#define __section(section) __attribute__((__section__(section))) +#define __noinline __attribute__((noinline)) + +#endif /* APOS_COMPILER_ATTRIBUTES_H */ diff --git a/include/apos/init.h b/include/apos/init.h new file mode 100644 index 0000000..1c4bc9d --- /dev/null +++ b/include/apos/init.h @@ -0,0 +1,9 @@ +#ifndef APOS_INIT_H +#define APOS_INIT_H + +#include <apos/compiler_attributes.h> + +#define __init __section(".init.text") +#define __initdata __section(".init.data") + +#endif /* APOS_INIT_H */ diff --git a/include/apos/link.lds.h b/include/apos/link.lds.h new file mode 100644 index 0000000..aa9f2e2 --- /dev/null +++ b/include/apos/link.lds.h @@ -0,0 +1,45 @@ +#ifndef APOS_LINK_LDS_H +#define APOS_LINK_LDS_H + +#define DWARF_DEBUG \ + /* DWARF 1 */ \ + .debug 0 : { *(.debug) } \ + .line 0 : { *(.line) } \ + /* GNU DWARF 1 extensions */ \ + .debug_srcinfo 0 : { *(.debug_srcinfo) } \ + .debug_sfnames 0 : { *(.debug_sfnames) } \ + /* DWARF 1.1 and DWARF 2 */ \ + .debug_aranges 0 : { *(.debug_aranges) } \ + .debug_pubnames 0 : { *(.debug_pubnames) } \ + /* DWARF 2 */ \ + .debug_info 0 : { *(.debug_info \ + .gnu.linkonce.wi.*) } \ + .debug_abbrev 0 : { *(.debug_abbrev) } \ + .debug_line 0 : { *(.debug_line) } \ + .debug_frame 0 : { *(.debug_frame) } \ + .debug_str 0 : { *(.debug_str) } \ + .debug_loc 0 : { *(.debug_loc) } \ + .debug_macinfo 0 : { *(.debug_macinfo) } \ + .debug_pubtypes 0 : { *(.debug_pubtypes) } \ + /* DWARF 3 */ \ + .debug_ranges 0 : { *(.debug_ranges) } \ + /* SGI/MIPS DWARF 2 extensions */ \ + .debug_weaknames 0 : { *(.debug_weaknames) } \ + .debug_funcnames 0 : { *(.debug_funcnames) } \ + .debug_typenames 0 : { *(.debug_typenames) } \ + .debug_varnames 0 : { *(.debug_varnames) } \ + /* GNU DWARF 2 extensions */ \ + .debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) } \ + .debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) } \ + /* DWARF 4 */ \ + .debug_types 0 : { *(.debug_types) } \ + /* DWARF 5 */ \ + .debug_addr 0 : { *(.debug_addr) } \ + .debug_line_str 0 : { *(.debug_line_str) } \ + .debug_loclists 0 : { *(.debug_loclists) } \ + .debug_macro 0 : { *(.debug_macro) } \ + .debug_names 0 : { *(.debug_names) } \ + .debug_rnglists 0 : { *(.debug_rnglists) } \ + .debug_str_offsets 0 : { *(.debug_str_offsets) } + +#endif /* APOS_LINK_LDS_H */ diff --git a/include/apos/main.h b/include/apos/main.h new file mode 100644 index 0000000..1cea533 --- /dev/null +++ b/include/apos/main.h @@ -0,0 +1,8 @@ +#ifndef APOS_MAIN_H +#define APOS_MAIN_H + +#include <apos/compiler_attributes.h> + +#define __main __section(".text.start") __noinline + +#endif /* APOS_MAIN_H */ diff --git a/include/apos/sizes.h b/include/apos/sizes.h new file mode 100644 index 0000000..58a68bc --- /dev/null +++ b/include/apos/sizes.h @@ -0,0 +1,59 @@ +#ifndef APOS_SIZES_H +#define APOS_SIZES_H + +#define SZ_1 0x000000000001 +#define SZ_2 0x000000000002 +#define SZ_4 0x000000000004 +#define SZ_8 0x000000000008 +#define SZ_16 0x000000000010 +#define SZ_32 0x000000000020 +#define SZ_64 0x000000000040 +#define SZ_128 0x000000000080 +#define SZ_256 0x000000000100 +#define SZ_512 0x000000000200 + +#define SZ_1K 0x000000000400 +#define SZ_2K 0x000000000800 +#define SZ_4K 0x000000001000 +#define SZ_8K 0x000000002000 +#define SZ_16K 0x000000004000 +#define SZ_32K 0x000000008000 +#define SZ_64K 0x000000010000 +#define SZ_128K 0x000000020000 +#define SZ_256K 0x000000040000 +#define SZ_512K 0x000000080000 + +#define SZ_1M 0x000000100000 +#define SZ_2M 0x000000200000 +#define SZ_4M 0x000000400000 +#define SZ_8M 0x000000800000 +#define SZ_16M 0x000001000000 +#define SZ_32M 0x000002000000 +#define SZ_64M 0x000004000000 +#define SZ_128M 0x000008000000 +#define SZ_256M 0x000010000000 +#define SZ_512M 0x000020000000 + +#define SZ_1G 0x000040000000 +#define SZ_2G 0x000080000000 +#define SZ_4G 0x000100000000 +#define SZ_8G 0x000200000000 +#define SZ_16G 0x000400000000 +#define SZ_32G 0x000800000000 +#define SZ_64G 0x000400000000 +#define SZ_128G 0x000800000000 +#define SZ_256G 0x001000000000 +#define SZ_512G 0x002000000000 + +#define SZ_1T 0x004000000000 +#define SZ_2T 0x008000000000 +#define SZ_4T 0x010000000000 +#define SZ_8T 0x020000000000 +#define SZ_16T 0x040000000000 +#define SZ_32T 0x080000000000 +#define SZ_64T 0x100000000000 +#define SZ_128T 0x200000000000 +#define SZ_256T 0x400000000000 +#define SZ_512T 0x800000000000 + +#endif /* APOS_SIZES_H */ |
