/* * Copyright (c) 2019 Carlo Caione * * SPDX-License-Identifier: Apache-2.0 */ /** * @file * @brief Software interrupts utility code - ARM64 implementation */ #include #include #include void arch_irq_offload(irq_offload_routine_t routine, const void *parameter) { register const void *x0 __asm__("x0") = routine; register const void *x1 __asm__("x1") = parameter; __asm__ volatile ("svc %[svid]" : : [svid] "i" (_SVC_CALL_IRQ_OFFLOAD), "r" (x0), "r" (x1)); }