summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/lib/include/nitro.h2
-rw-r--r--include/misc.h13
-rw-r--r--include/sections.h9
3 files changed, 24 insertions, 0 deletions
diff --git a/arm9/lib/include/nitro.h b/arm9/lib/include/nitro.h
index f7397fb0..ffb2003b 100644
--- a/arm9/lib/include/nitro.h
+++ b/arm9/lib/include/nitro.h
@@ -6,6 +6,8 @@ extern "C" {
#endif
// Include all nitro files
+#include "sections.h"
+#include "misc.h"
#include "types.h"
#include "consts.h"
#include "OS_init.h"
diff --git a/include/misc.h b/include/misc.h
new file mode 100644
index 00000000..c3b16292
--- /dev/null
+++ b/include/misc.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_MISC_H
+#define GUARD_MISC_H
+
+// specify force-link.
+void OSi_ReferSymbol(void *symbol);
+#define SDK_REFER_SYMBOL(symbol) OSi_ReferSymbol((void*)(symbol))
+
+// for embedding middleware version string in VERSION section.
+#define SDK_MIDDLEWARE_STRING(vender, module) "[SDK+" vender ":" module "]"
+#define SDK_DEFINE_MIDDLEWARE(id, vender, module) static char id [] = SDK_MIDDLEWARE_STRING(vender, module)
+#define SDK_USING_MIDDLEWARE(id) SDK_REFER_SYMBOL(id)
+
+#endif //GUARD_MISC_H
diff --git a/include/sections.h b/include/sections.h
new file mode 100644
index 00000000..39b0eb5a
--- /dev/null
+++ b/include/sections.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_SECTIONS_H
+#define GUARD_SECTIONS_H
+
+#pragma define_section ITCM ".itcm" ".itcm.bss" abs32 RWX
+#pragma define_section DTCM ".dtcm" ".dtcm.bss" abs32 RWX
+#pragma define_section VERSION ".version" abs32 RWX
+#pragma define_section PARENT ".parent" abs32 RWX
+
+#endif //GUARD_SECTIONS_H