xref: /minix3/lib/libc/arch/aarch64/genassym.cf (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1# $NetBSD: genassym.cf,v 1.1 2014/08/10 05:47:36 matt Exp $
2
3#-
4# Copyright (c) 2014 The NetBSD Foundation, Inc.
5# All rights reserved.
6#
7# This code is derived from software contributed to The NetBSD Foundation
8# by Matt Thomas of 3am Software Foundry.
9#
10# Redistribution and use in source and binary forms, with or without
11# modification, are permitted provided that the following conditions
12# are met:
13# 1. Redistributions of source code must retain the above copyright
14#    notice, this list of conditions and the following disclaimer.
15# 2. Redistributions in binary form must reproduce the above copyright
16#    notice, this list of conditions and the following disclaimer in the
17#    documentation and/or other materials provided with the distribution.
18#
19# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29# POSSIBILITY OF SUCH DAMAGE.
30#
31
32include <sys/types.h>
33include <ucontext.h>
34include <setjmp.h>
35
36define _UC_REGS_X0	offsetof(ucontext_t, uc_mcontext.__gregs[_REG_X0])
37define _UC_REGS_SP	offsetof(ucontext_t, uc_mcontext.__gregs[_REG_SP])
38define _UC_REGS_PC	offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC])
39
40define _JB_MAGIC_AARCH64__SETJMP _JB_MAGIC_AARCH64__SETJMP
41define _JB_MAGIC_AARCH64_SETJMP _JB_MAGIC_AARCH64_SETJMP
42define _JB_MAGIC	sizeof(_BSD_JBSLOT_T_ [_JB_MAGIC])
43define _JB_SP		sizeof(_BSD_JBSLOT_T_ [_JB_SP])
44define _JB_X19		sizeof(_BSD_JBSLOT_T_ [_JB_X19])
45define _JB_X20		sizeof(_BSD_JBSLOT_T_ [_JB_X20])
46define _JB_X21		sizeof(_BSD_JBSLOT_T_ [_JB_X21])
47define _JB_X22		sizeof(_BSD_JBSLOT_T_ [_JB_X22])
48define _JB_X23		sizeof(_BSD_JBSLOT_T_ [_JB_X23])
49define _JB_X24		sizeof(_BSD_JBSLOT_T_ [_JB_X24])
50define _JB_X25		sizeof(_BSD_JBSLOT_T_ [_JB_X25])
51define _JB_X26		sizeof(_BSD_JBSLOT_T_ [_JB_X26])
52define _JB_X27		sizeof(_BSD_JBSLOT_T_ [_JB_X27])
53define _JB_X28		sizeof(_BSD_JBSLOT_T_ [_JB_X29])
54define _JB_X29		sizeof(_BSD_JBSLOT_T_ [_JB_X29])
55define _JB_X30		sizeof(_BSD_JBSLOT_T_ [_JB_X30])
56define _JB_TPIDR	sizeof(_BSD_JBSLOT_T_ [_JB_TPIDR])
57define _JB_D8		sizeof(_BSD_JBSLOT_T_ [_JB_D8])
58define _JB_D9		sizeof(_BSD_JBSLOT_T_ [_JB_D9])
59define _JB_D10		sizeof(_BSD_JBSLOT_T_ [_JB_D10])
60define _JB_D11		sizeof(_BSD_JBSLOT_T_ [_JB_D11])
61define _JB_D12		sizeof(_BSD_JBSLOT_T_ [_JB_D12])
62define _JB_D13		sizeof(_BSD_JBSLOT_T_ [_JB_D13])
63define _JB_D14		sizeof(_BSD_JBSLOT_T_ [_JB_D14])
64define _JB_D15		sizeof(_BSD_JBSLOT_T_ [_JB_D15])
65define _JB_SIGMASK	sizeof(_BSD_JBSLOT_T_ [_JB_SIGMASK])
66