tinygo/src/runtime/runtime_nintendoswitch.s
Lucas Teske 387bca8e32 nintendoswitch: Add env parser and removed unused stuff
*	Heap allocation based on available ram
*	Added homebrew launcher parser (for overriden heap)
*	Removed unused stuff (moved to gonx)
*	Kept require code at minimum to work in a real device
*	Moved everything to a single file
2020-11-03 23:28:55 +01:00

40 строки
609 Б
ArmAsm

// Macro for writing less code
.macro FUNC name
.section .text.\name, "ax", %progbits
.global \name
.type \name, %function
.align 2
\name:
.endm
FUNC armGetSystemTick
mrs x0, cntpct_el0
ret
// Horizon System Calls
// https://switchbrew.org/wiki/SVC
FUNC svcSetHeapSize
str x0, [sp, #-16]!
svc 0x1
ldr x2, [sp], #16
str x1, [x2]
ret
FUNC svcExitProcess
svc 0x7
ret
FUNC svcSleepThread
svc 0xB
ret
FUNC svcOutputDebugString
svc 0x27
ret
FUNC svcGetInfo
str x0, [sp, #-16]!
svc 0x29
ldr x2, [sp], #16
str x1, [x2]
ret