xref: /kvm-unit-tests/lib/arm64/asm-offsets.c (revision 7ee966e98ee6e326b4149ed28330a71d6e96b10d)
139ac3f84SAndrew Jones /*
239ac3f84SAndrew Jones  * Adapted from arch/arm64/kernel/asm-offsets.c
339ac3f84SAndrew Jones  *
439ac3f84SAndrew Jones  * Copyright (C) 2014, Red Hat Inc, Andrew Jones <drjones@redhat.com>
539ac3f84SAndrew Jones  *
639ac3f84SAndrew Jones  * This work is licensed under the terms of the GNU LGPL, version 2.
739ac3f84SAndrew Jones  */
839ac3f84SAndrew Jones #include <libcflat.h>
939ac3f84SAndrew Jones #include <kbuild.h>
10*7ee966e9SAndrew Jones #include <asm/ptrace.h>
1139ac3f84SAndrew Jones 
1239ac3f84SAndrew Jones int main(void)
1339ac3f84SAndrew Jones {
14*7ee966e9SAndrew Jones 	OFFSET(S_X0, pt_regs, regs[0]);
15*7ee966e9SAndrew Jones 	OFFSET(S_X1, pt_regs, regs[1]);
16*7ee966e9SAndrew Jones 	OFFSET(S_X2, pt_regs, regs[2]);
17*7ee966e9SAndrew Jones 	OFFSET(S_X3, pt_regs, regs[3]);
18*7ee966e9SAndrew Jones 	OFFSET(S_X4, pt_regs, regs[4]);
19*7ee966e9SAndrew Jones 	OFFSET(S_X5, pt_regs, regs[5]);
20*7ee966e9SAndrew Jones 	OFFSET(S_X6, pt_regs, regs[6]);
21*7ee966e9SAndrew Jones 	OFFSET(S_X7, pt_regs, regs[7]);
22*7ee966e9SAndrew Jones 	OFFSET(S_LR, pt_regs, regs[30]);
23*7ee966e9SAndrew Jones 	OFFSET(S_SP, pt_regs, sp);
24*7ee966e9SAndrew Jones 	OFFSET(S_PC, pt_regs, pc);
25*7ee966e9SAndrew Jones 	OFFSET(S_PSTATE, pt_regs, pstate);
26*7ee966e9SAndrew Jones 	OFFSET(S_ORIG_X0, pt_regs, orig_x0);
27*7ee966e9SAndrew Jones 	OFFSET(S_SYSCALLNO, pt_regs, syscallno);
28*7ee966e9SAndrew Jones 	DEFINE(S_FRAME_SIZE, sizeof(struct pt_regs));
2939ac3f84SAndrew Jones 	return 0;
3039ac3f84SAndrew Jones }
31