Add GC support for Nintendo Switch

This commit is contained in:
Joey Yakimowich-Payne 2018-06-19 17:12:07 +09:00
commit c3490830e4
2 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,24 @@
const virtMemHeader = "<switch/kernel/virtmem.h>"
const svcHeader = "<switch/kernel/virtmem.h>"
const mallocHeader = "<malloc.h>"
type
Result* = uint32
proc memalign*(bytes: csize, size: csize): pointer {.importc: "memalign",
header: mallocHeader.}
proc free*(address: pointer) {.importc: "free",
header: mallocHeader.}
proc svcMapMemory*(dst_addr: pointer; src_addr: pointer; size: uint64): Result {.
importc: "svcMapMemory", header: svcHeader.}
proc svcUnmapMemory*(dst_addr: pointer; src_addr: pointer; size: uint64): Result {.
importc: "svcUnmapMemory", header: svcHeader.}
proc virtmemReserveMap*(size: csize): pointer {.importc: "virtmemReserveMap",
header: virtMemHeader.}
proc virtmemFreeMap*(address: pointer; size: csize) {.importc: "virtmemFreeMap",
header: virtMemHeader.}