aboutsummaryrefslogtreecommitdiffstats
path: root/steamvr/image-wait/trampoline.S
diff options
context:
space:
mode:
authorTomasz Kramkowski <tomasz@kramkow.ski>2026-11-03 20:01:42 +0000
committerTomasz Kramkowski <tomasz@kramkow.ski>2026-11-03 20:01:42 +0000
commit098bd37f355a77abbb5751fc55a91f7ebe74cc6b (patch)
treed3bc93cb427276a4936d79903b62e156d5c538e7 /steamvr/image-wait/trampoline.S
parent64c349eb1dc0fde65fd4e6ddf525faa0a4c64a91 (diff)
downloadsteamvr-patches-098bd37f355a77abbb5751fc55a91f7ebe74cc6b.tar.gz
steamvr-patches-098bd37f355a77abbb5751fc55a91f7ebe74cc6b.tar.xz
steamvr-patches-098bd37f355a77abbb5751fc55a91f7ebe74cc6b.zip
use patch generator to build patchersHEADmaster
Diffstat (limited to 'steamvr/image-wait/trampoline.S')
-rw-r--r--steamvr/image-wait/trampoline.S26
1 files changed, 26 insertions, 0 deletions
diff --git a/steamvr/image-wait/trampoline.S b/steamvr/image-wait/trampoline.S
new file mode 100644
index 0000000..6c7dbc4
--- /dev/null
+++ b/steamvr/image-wait/trampoline.S
@@ -0,0 +1,26 @@
+/* SPDX-FileCopyrightText: 2026 Tomasz Kramkowski <tomasz@kramkow.ski>
+ * SPDX-License-Identifier: CC0-1.0
+ */
+
+.intel_syntax noprefix
+.section .text.entry,"ax",@progbits
+.global input_wait
+input_wait:
+ push rdi
+ push rsi
+ push rdx
+ push rcx
+ sub rsp, 8
+ call register_image_wait
+ add rsp, 8
+ pop rcx
+ pop rdx
+ pop rsi
+ pop rdi
+
+ # Replay the three displaced instructions, then resume the original function.
+ push rbp
+ mov rax, rsi
+ mov r9d, edx
+ jmp resume_transition
+.section .note.GNU-stack,"",@progbits