Files
tinygo/src/runtime/runtime_nintendoswitch.S
T
Ayke van Laethem c4392d9472 all: rename assembly files to .S extension
The Go tools only consider lowercase .s files to be assembly files. By
renaming these to uppercase .S files they won't be discovered by the Go
toolchain and listed as the SFiles to be assembled.

There is a difference between .s and .S: only uppercase .S will be
passed through the preprocessor. Doing that is normally safe, and
definitely safe in the case of these files.
2022-08-04 15:43:42 +02:00

41 lines
609 B
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