Commit Graph

85 Commits

Author SHA1 Message Date
James Benton
d315b4bb34 Add new wutmalloc library.
This overwrites malloc and redirects it to alloc from default heap.
Also sets __wut_heap_max_size to limit sbrk heap now that malloc no longer
uses it.
2018-06-14 09:33:16 +01:00
James Benton
98b6f6ec2f wutnewlib: Allow custom fixed sbrk heap size.
So now either uses 90% of the available base heap, or allocates a fixed
sized heap from the default heap.
2018-06-14 09:32:37 +01:00
James Benton
1471ea4338 Change wutnewlib to implement malloc family of functions.
This allows us to forward them straight to default heap functions, this
is better than having to allocate a fixed heap for sbrk as it allows
people to better mix usage malloc & default heap functions.
2018-06-13 18:38:53 +01:00
James Benton
c4214cef35 sysapp: Change unknown structure to a struct typedef. 2018-06-13 17:36:12 +01:00
James Benton
865af4609c Rename wutdevoptab to wutdevoptab_sd 2018-06-13 13:36:15 +01:00
James Benton
75784dbb52 Add nn::swkbd library. 2018-06-13 12:12:22 +01:00
James Benton
3c054375db wutstdc++: Fix __wut_key_t. 2018-06-02 10:36:28 +01:00
James Benton
f11112ca0f Change LATTE_SQ_SEL to GX2_SQ_SEL.
latte is private stuff yo.
2018-05-31 11:19:39 +01:00
James Benton
4e2099a2e4 whb: Add missing GX2Invalidate call.
GX2RUnlockBuffer is supposed to be calling invalidate for us.... but it
does not seem to work and we require an explicit invalidate instead?!?!
2018-05-31 10:10:10 +01:00
James Benton
1c3d26ab1b wutcrt: Setup a proper stack frame for _start. 2018-05-30 22:13:49 +01:00
James Benton
699aa5ca99 wutcrt: Fix call to __fini_wut instead of __init_wut for rpl on load entry. 2018-05-30 22:00:58 +01:00
James Benton
f281be50ab Add support for generating RPL files.
RPL files are shared libraries (like a .dll file), as opposed to the RPX
files which are executables (like a .exe file).

Use rpl_main as defined in dynload.h like one would DllMain on Windows.
2018-05-30 21:56:18 +01:00
James Benton
4220023511 wutstdc++: Use malloc / free instead of MEM functions. 2018-05-30 14:42:42 +01:00
James Benton
d5effaaf88 coreinit: Cleanup memory heap functions.
Move files to mem*heap.h.
Use MEMHeapHandle everywhere to reduce need for unecessary casts.
Rename types to match the function names better (e.g. Frame -> Frm).
2018-05-30 13:13:37 +01:00
James Benton
a5d15a7a3a Remove libdefaultheap.
Replaced by coreinit data exports.
2018-05-29 10:52:40 +01:00
dibas
45e0904a69 WHBGfx - Separate ClearColor() and allow custom colors. 2018-05-28 11:42:13 +01:00
James Benton
f7a698388c wutnewlib: Implement the new __syscalls from upcoming devkitPPC release. 2018-05-28 11:40:22 +01:00
James Benton
2b165bf887 Improve time conversion macros. 2018-05-28 11:39:36 +01:00
James Benton
b4a6eb2f78 Split out crt from wutnewlib to wutcrt.
Can now optionally link newlib, stdc++, devoptab.
2018-05-27 12:12:49 +01:00
James Benton
479e9ad677 Add devoptab support for sdcard. 2018-05-27 12:11:45 +01:00
James Benton
ac8a42fa7c Change to using new gthreads implementation.
Assuming that --enable-threads=dkp gets merged into devkitPPC r31... :)
2018-05-26 18:25:36 +01:00
James Benton
37228a095d Disable call to __fini as it breaks stuff. 2018-05-26 18:18:16 +01:00
James Benton
9a3cbcd2ef wutnewlib: Call __fini for global dtors.
main calls __eabi which calls __init, but main doesn't call __fini?
y u do this
2018-05-25 21:20:39 +01:00
James Benton
33bff6ccb9 whb: Fix exception handlers to be globally registered.
Was previously only registered for current thread.
2018-05-25 18:59:29 +01:00
James Benton
710ce964c8 wutstdc++: Add remaining gthreads reliant std code. 2018-05-25 18:47:11 +01:00
James Benton
ec59508010 wutstdc++: Implement __gthread_cond_timedwait. 2018-05-25 18:45:19 +01:00
James Benton
750a2370d8 wutstdc++: Move gthread code to source files. 2018-05-25 18:15:39 +01:00
James Benton
675549474a wutstdc++: Implement gthread keys. 2018-05-25 18:06:54 +01:00
James Benton
3336fbaf5d Implement __gthread_once. 2018-05-25 17:35:21 +01:00
James Benton
b00b5af1ec wutstdc++: Add gthr-default.h to CMakeLists.txt 2018-05-25 17:35:07 +01:00
James Benton
a9829a3226 Add support for C++ std::thread.
Overwrites bits/gthr-default.h to implement gthreads.
2018-05-25 17:22:10 +01:00
James Benton
a5a1bac28c wutnewlib: Add sleep and usleep implementation. 2018-05-25 17:13:54 +01:00
James Benton
4a32445ed5 whb: Add a log console. 2018-05-25 11:48:14 +01:00
James Benton
5b8b60b390 Add newlib syscalls. 2018-05-25 11:31:44 +01:00
James Benton
7e788f47af Add libdefaultheap, libgfd, libwhb. 2018-05-23 11:10:10 +01:00