1*38cbe526Skettenis /* $OpenBSD: gadgetsyscall.h,v 1.2 2020/10/20 14:40:00 kettenis Exp $ */ 2274d7c50Smortimer gadget_getpid()3274d7c50Smortimerpid_t gadget_getpid() { 4274d7c50Smortimer pid_t ans = 0; 5*38cbe526Skettenis #if defined(__aarch64__) 6*38cbe526Skettenis asm("ldr x8, #0x14; svc 0; dsb nsh; isb; mov %w0, w0" : "=r"(ans) :: "x0", "x8"); 7*38cbe526Skettenis #elif defined(__amd64__) 8274d7c50Smortimer asm("mov $0x14, %%eax; syscall; mov %%eax, %0;" :"=r"(ans)::"%eax", "%ecx", "%r11"); 9274d7c50Smortimer #endif 10274d7c50Smortimer return ans; 11274d7c50Smortimer } 12