aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2021-08-17 21:47:38 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2021-08-17 21:49:16 +0300
commit565724db3b73ee67fa996dab511dc52df586cee1 (patch)
treed3bd77006c2c57aa961f85c4fc677bd72f6251ae /include
downloadkmi-565724db3b73ee67fa996dab511dc52df586cee1.tar.gz
kmi-565724db3b73ee67fa996dab511dc52df586cee1.zip
Garbage
Diffstat (limited to 'include')
-rw-r--r--include/apos/compiler_attributes.h6
-rw-r--r--include/apos/init.h9
-rw-r--r--include/apos/link.lds.h45
-rw-r--r--include/apos/main.h8
-rw-r--r--include/apos/sizes.h59
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 */