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