diff --git a/targets/avr.json b/targets/avr.json index 587a3e56..d4f52e54 100644 --- a/targets/avr.json +++ b/targets/avr.json @@ -16,9 +16,5 @@ "-T", "targets/avr.ld", "--gc-sections" ], - "extra-files": [ - "src/internal/task/task_stack_avr.S", - "src/runtime/asm_avr.S" - ], "gdb": ["avr-gdb"] } diff --git a/targets/avrtiny.json b/targets/avrtiny.json index 7cb1581f..6e7dde95 100644 --- a/targets/avrtiny.json +++ b/targets/avrtiny.json @@ -17,8 +17,6 @@ "--gc-sections" ], "extra-files": [ - "src/internal/task/task_stack_avr.S", - "src/runtime/asm_avr.S", "targets/avrtiny.S" ], "gdb": ["avr-gdb"] diff --git a/targets/cortex-m.json b/targets/cortex-m.json index c6989e9b..f38badd9 100644 --- a/targets/cortex-m.json +++ b/targets/cortex-m.json @@ -22,9 +22,7 @@ "--gc-sections" ], "extra-files": [ - "targets/device/arm/cortexm.S", - "src/internal/task/task_stack_cortexm.S", - "src/runtime/asm_arm.S" + "targets/device/arm/cortexm.S" ], "gdb": ["gdb-multiarch", "arm-none-eabi-gdb", "gdb"] } diff --git a/targets/esp32.json b/targets/esp32.json index 675110aa..841c7d41 100644 --- a/targets/esp32.json +++ b/targets/esp32.json @@ -11,8 +11,7 @@ "libc": "picolibc", "linkerscript": "targets/esp32.ld", "extra-files": [ - "targets/device/esp/esp32.S", - "src/internal/task/task_stack_esp32.S" + "targets/device/esp/esp32.S" ], "binary-format": "esp32", "flash-command": "esptool.py --chip=esp32 --port {port} write_flash 0x1000 {bin} -ff 80m -fm dout", diff --git a/targets/esp8266.json b/targets/esp8266.json index 9f286bcb..390ce61c 100644 --- a/targets/esp8266.json +++ b/targets/esp8266.json @@ -10,8 +10,7 @@ "libc": "picolibc", "linkerscript": "targets/esp8266.ld", "extra-files": [ - "targets/device/esp/esp8266.S", - "src/internal/task/task_stack_esp8266.S" + "targets/device/esp/esp8266.S" ], "binary-format": "esp8266", "flash-command": "esptool.py --chip=esp8266 --port {port} write_flash 0x00000 {bin} -fm qio" diff --git a/targets/gameboy-advance.json b/targets/gameboy-advance.json index 72ab6e3a..3bf6270c 100644 --- a/targets/gameboy-advance.json +++ b/targets/gameboy-advance.json @@ -20,8 +20,7 @@ ], "linkerscript": "targets/gameboy-advance.ld", "extra-files": [ - "targets/gameboy-advance.s", - "src/runtime/asm_arm.S" + "targets/gameboy-advance.s" ], "gdb": ["gdb-multiarch"], "emulator": "mgba -3 {}" diff --git a/targets/nintendoswitch.json b/targets/nintendoswitch.json index f83f8fcc..15a21bac 100644 --- a/targets/nintendoswitch.json +++ b/targets/nintendoswitch.json @@ -28,8 +28,6 @@ "linkerscript": "targets/nintendoswitch.ld", "extra-files": [ "targets/nintendoswitch.s", - "src/internal/task/task_stack_arm64.S", - "src/runtime/asm_arm64.S", - "src/runtime/runtime_nintendoswitch.S" + "targets/runtime_nintendoswitch.S" ] } diff --git a/targets/nrf51.json b/targets/nrf51.json index 2f619ec6..5a85de65 100644 --- a/targets/nrf51.json +++ b/targets/nrf51.json @@ -8,7 +8,6 @@ ], "linkerscript": "targets/nrf51.ld", "extra-files": [ - "lib/nrfx/mdk/system_nrf51.c", "targets/device/nrf/nrf51.s" ], "openocd-transport": "swd", diff --git a/targets/nrf52.json b/targets/nrf52.json index 0d7ab37d..1f579d51 100644 --- a/targets/nrf52.json +++ b/targets/nrf52.json @@ -8,7 +8,6 @@ ], "linkerscript": "targets/nrf52.ld", "extra-files": [ - "lib/nrfx/mdk/system_nrf52.c", "targets/device/nrf/nrf52.s" ], "openocd-transport": "swd", diff --git a/targets/nrf52833.json b/targets/nrf52833.json index 19530b55..99f6f808 100644 --- a/targets/nrf52833.json +++ b/targets/nrf52833.json @@ -8,7 +8,6 @@ ], "linkerscript": "targets/nrf52833.ld", "extra-files": [ - "lib/nrfx/mdk/system_nrf52833.c", "targets/device/nrf/nrf52833.s" ], "openocd-transport": "swd", diff --git a/targets/nrf52840.json b/targets/nrf52840.json index e15aef99..ccd1ea22 100644 --- a/targets/nrf52840.json +++ b/targets/nrf52840.json @@ -8,7 +8,6 @@ ], "linkerscript": "targets/nrf52840.ld", "extra-files": [ - "lib/nrfx/mdk/system_nrf52840.c", "targets/device/nrf/nrf52840.s" ], "openocd-transport": "swd", diff --git a/targets/riscv.json b/targets/riscv.json index 3b7e338a..a7bc21a2 100644 --- a/targets/riscv.json +++ b/targets/riscv.json @@ -17,8 +17,6 @@ ], "extra-files": [ "targets/device/riscv/start.S", - "src/internal/task/task_stack_tinygoriscv.S", - "src/runtime/asm_riscv.S", "targets/device/riscv/handleinterrupt.S" ], "gdb": ["riscv64-unknown-elf-gdb"] diff --git a/targets/runtime_nintendoswitch.S b/targets/runtime_nintendoswitch.S new file mode 100644 index 00000000..a4cac23e --- /dev/null +++ b/targets/runtime_nintendoswitch.S @@ -0,0 +1,40 @@ +// 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 diff --git a/targets/wasip1.json b/targets/wasip1.json index 8abc65e1..b916de04 100644 --- a/targets/wasip1.json +++ b/targets/wasip1.json @@ -22,9 +22,5 @@ "--stack-first", "--no-demangle" ], - "extra-files": [ - "src/runtime/asm_tinygowasm.S", - "src/runtime/gc_boehm.c" - ], "emulator": "wasmtime run --dir={tmpDir}::/tmp {}" } diff --git a/targets/wasip2.json b/targets/wasip2.json index 66e79eda..1b30db93 100644 --- a/targets/wasip2.json +++ b/targets/wasip2.json @@ -24,9 +24,6 @@ "--no-demangle", "--no-entry" ], - "extra-files": [ - "src/runtime/asm_tinygowasm.S" - ], "emulator": "wasmtime run --wasm component-model -Sinherit-network -Sallow-ip-name-lookup --dir={tmpDir}::/tmp {}", "wit-package": "{root}/lib/wasi-cli/wit/", "wit-world": "wasi:cli/command" diff --git a/targets/wasm-unknown.json b/targets/wasm-unknown.json index d64fa575..a667a413 100644 --- a/targets/wasm-unknown.json +++ b/targets/wasm-unknown.json @@ -23,8 +23,5 @@ "--no-demangle", "--no-entry" ], - "extra-files": [ - "src/runtime/asm_tinygowasm.S" - ], "emulator": "wasmtime run --dir={tmpDir}::/tmp {}" } diff --git a/targets/wasm.json b/targets/wasm.json index a8641636..c61b607d 100644 --- a/targets/wasm.json +++ b/targets/wasm.json @@ -23,9 +23,5 @@ "--stack-first", "--no-demangle" ], - "extra-files": [ - "src/runtime/asm_tinygowasm.S", - "src/runtime/gc_boehm.c" - ], "emulator": "node {root}/targets/wasm_exec.js {}" }