2003-09-07 18:47:44 +04:00
|
|
|
# $NetBSD: genassym.cf,v 1.5 2003/09/07 14:47:48 cl Exp $
|
2003-01-18 13:32:11 +03:00
|
|
|
|
|
|
|
# Copyright (c) 2001 The NetBSD Foundation, Inc.
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# This code is derived from software contributed to The NetBSD Foundation
|
|
|
|
# by Nathan J. Williams.
|
|
|
|
#
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
# modification, are permitted provided that the following conditions
|
|
|
|
# are met:
|
|
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
|
|
# documentation and/or other materials provided with the distribution.
|
|
|
|
# 3. All advertising materials mentioning features or use of this software
|
|
|
|
# must display the following acknowledgement:
|
|
|
|
# This product includes software developed by the NetBSD
|
|
|
|
# Foundation, Inc. and its contributors.
|
|
|
|
# 4. Neither the name of The NetBSD Foundation nor the names of its
|
|
|
|
# contributors may be used to endorse or promote products derived
|
|
|
|
# from this software without specific prior written permission.
|
|
|
|
#
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
|
|
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
|
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
include <ucontext.h>
|
|
|
|
include <sys/queue.h>
|
|
|
|
include "pthread.h"
|
|
|
|
include "pthread_int.h"
|
|
|
|
include "pthread_md.h"
|
|
|
|
|
2003-07-18 00:55:25 +04:00
|
|
|
define PT_NEXT offsetof(struct __pthread_st, pt_next)
|
|
|
|
define PT_SWITCHTO offsetof(struct __pthread_st, pt_switchto)
|
|
|
|
define PT_SWITCHTOUC offsetof(struct __pthread_st, pt_switchtouc)
|
|
|
|
define PT_SPINLOCKS offsetof(struct __pthread_st, pt_spinlocks)
|
|
|
|
define PT_HELDLOCK offsetof(struct __pthread_st, pt_heldlock)
|
|
|
|
define PT_UC offsetof(struct __pthread_st, pt_uc)
|
|
|
|
define PT_TRAPUC offsetof(struct __pthread_st, pt_trapuc)
|
2003-01-18 13:32:11 +03:00
|
|
|
define CONTEXTSIZE sizeof(ucontext_t)
|
|
|
|
define UC_FLAGS offsetof(ucontext_t, uc_flags)
|
|
|
|
define UC_REGS offsetof(ucontext_t, uc_mcontext.__gregs)
|
|
|
|
define UC_EIP offsetof(ucontext_t, uc_mcontext.__gregs[_REG_EIP])
|
|
|
|
define UC_FPREGS offsetof(ucontext_t, uc_mcontext.__fpregs.__fp_reg_set.__fpchip_state.__fp_state)
|
|
|
|
define UC_FXSAVEREGS offsetof(ucontext_t, uc_mcontext.__fpregs.__fp_reg_set.__fp_xmm_state.__fp_xmm)
|
|
|
|
|
|
|
|
define STACKSPACE STACKSPACE
|
|
|
|
|
|
|
|
define _UC_CPU _UC_CPU
|
|
|
|
define _UC_FPU _UC_FPU
|
|
|
|
define _UC_USER _UC_USER
|
|
|
|
define _UC_USER_BIT _UC_USER_BIT
|
|
|
|
|
|
|
|
define _REG_GS _REG_GS
|
|
|
|
define _REG_FS _REG_FS
|
|
|
|
define _REG_ES _REG_ES
|
|
|
|
define _REG_DS _REG_DS
|
|
|
|
define _REG_EDI _REG_EDI
|
|
|
|
define _REG_ESI _REG_ESI
|
|
|
|
define _REG_EBP _REG_EBP
|
|
|
|
define _REG_ESP _REG_ESP
|
|
|
|
define _REG_EBX _REG_EBX
|
|
|
|
define _REG_EDX _REG_EDX
|
|
|
|
define _REG_ECX _REG_ECX
|
|
|
|
define _REG_EAX _REG_EAX
|
|
|
|
define _REG_TRAPNO _REG_TRAPNO
|
|
|
|
define _REG_ERR _REG_ERR
|
|
|
|
define _REG_EIP _REG_EIP
|
|
|
|
define _REG_CS _REG_CS
|
|
|
|
define _REG_EFL _REG_EFL
|
|
|
|
define _REG_UESP _REG_UESP
|
|
|
|
define _REG_SS _REG_SS
|