Go to the documentation of this file.
14 #ifndef PSPMODULEINFO_H
15 #define PSPMODULEINFO_H
50 #define PSP_MODULE_INFO(name, attributes, major_version, minor_version) \
53 " .section .lib.ent.top, \"a\", @progbits\n" \
57 " .section .lib.ent.btm, \"a\", @progbits\n" \
59 "__lib_ent_bottom:\n" \
61 " .section .lib.stub.top, \"a\", @progbits\n" \
65 " .section .lib.stub.btm, \"a\", @progbits\n" \
67 "__lib_stub_bottom:\n" \
72 extern char __lib_ent_top[], __lib_ent_bottom[]; \
73 extern char __lib_stub_top[], __lib_stub_bottom[]; \
74 extern SceModuleInfo module_info \
75 __attribute__((section(".rodata.sceModuleInfo"), \
76 aligned(16), unused)) = { \
77 attributes, { minor_version, major_version }, #name, 0, _gp, \
78 __lib_ent_top, __lib_ent_bottom, \
79 __lib_stub_top, __lib_stub_bottom \
83 #define PSP_MODULE_INFO(name, attributes, major_version, minor_version) \
86 " .section .lib.ent.top, \"a\", @progbits\n" \
90 " .section .lib.ent.btm, \"a\", @progbits\n" \
92 "__lib_ent_bottom:\n" \
94 " .section .lib.stub.top, \"a\", @progbits\n" \
98 " .section .lib.stub.btm, \"a\", @progbits\n" \
100 "__lib_stub_bottom:\n" \
105 extern char __lib_ent_top[], __lib_ent_bottom[]; \
106 extern char __lib_stub_top[], __lib_stub_bottom[]; \
107 SceModuleInfo module_info \
108 __attribute__((section(".rodata.sceModuleInfo"), \
109 aligned(16), unused)) = { \
110 attributes, { minor_version, major_version }, name, 0, _gp, \
111 __lib_ent_top, __lib_ent_bottom, \
112 __lib_stub_top, __lib_stub_bottom \
117 #define PSP_MAIN_THREAD_PRIORITY(priority) \
118 unsigned int sce_newlib_priority = (priority)
120 #define PSP_MAIN_THREAD_STACK_SIZE_KB(size_kb) \
121 unsigned int sce_newlib_stack_kb_size = (size_kb)
123 #define PSP_MAIN_THREAD_ATTR(attr) \
124 unsigned int sce_newlib_attribute = (attr)
125 #define PSP_MAIN_THREAD_ATTRIBUTE PSP_MAIN_THREAD_ATTR
128 #define PSP_MAIN_THREAD_PARAMS(priority, size_kb, attribute) \
129 PSP_MAIN_THREAD_PRIORITY(priority); \
130 PSP_MAIN_THREAD_STACK_SIZE_KB(size_kb); \
131 PSP_MAIN_THREAD_ATTR(attribute)
134 #define PSP_NO_CREATE_MAIN_THREAD() \
135 int sce_newlib_nocreate_thread_in_start = 1
138 #define PSP_HEAP_SIZE_KB(size_kb) \
139 int sce_newlib_heap_kb_size = (size_kb)
142 #define PSP_HEAP_SIZE_MAX() \
146 #define PSP_MAIN_THREAD_NAME(s) const char* sce_newlib_main_thread_name = (s)