aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/libc/_mem_init.s
diff options
context:
space:
mode:
Diffstat (limited to 'libpsn00b/libc/_mem_init.s')
-rw-r--r--libpsn00b/libc/_mem_init.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/libpsn00b/libc/_mem_init.s b/libpsn00b/libc/_mem_init.s
new file mode 100644
index 0000000..672ac2f
--- /dev/null
+++ b/libpsn00b/libc/_mem_init.s
@@ -0,0 +1,20 @@
+.set noreorder
+
+.global _mem_init
+.type _mem_init, @function
+_mem_init:
+
+.section .text
+
+_mem_init:
+ la $a0, __bss_start
+ la $a1, _end
+.Lclear_bss:
+ sb $0 , 0($a0)
+ blt $a0, $a1, .Lclear_bss
+ addiu $a0, 1
+ la $a0, _end+4 # Initialize heap for malloc (does not use BIOS maalloc)
+ li $a1, 1572864 # Allocate 1.5MB at end of bss
+ j InitHeap
+ nop
+ \ No newline at end of file