# $NetBSD: genassym.cf,v 1.7 2007/03/02 18:53:58 ad Exp $ # Copyright (c) 2001 Wasabi Systems, Inc. # All rights reserved. # # Written by Allen Briggs for Wasabi Systems, Inc. # # 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 for the NetBSD Project by # Wasabi Systems, Inc. # 4. The name of Wasabi Systems, Inc. may not be used to endorse # or promote products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC # 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" # for _context_u.S define UC_FLAGS offsetof(ucontext_t, uc_flags) define _UC_FPVALID offsetof(ucontext_t, uc_mcontext.__fpregs.__fpu_valid) define _REG_R0 offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R0]) define _REG_CR offsetof(ucontext_t, uc_mcontext.__gregs[_REG_CR]) define _REG_LR offsetof(ucontext_t, uc_mcontext.__gregs[_REG_LR]) define _REG_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC]) define _REG_MSR offsetof(ucontext_t, uc_mcontext.__gregs[_REG_MSR]) define _REG_CTR offsetof(ucontext_t, uc_mcontext.__gregs[_REG_CTR]) define _REG_XER offsetof(ucontext_t, uc_mcontext.__gregs[_REG_XER]) define _REG_FP0 offsetof(ucontext_t, uc_mcontext.__fpregs.__fpu_regs[0]) define _REG_FPSCR offsetof(ucontext_t, uc_mcontext.__fpregs.__fpu_fpscr) # uc_flags define _UC_CPU _UC_CPU define _UC_FPU _UC_FPU define _UC_USER_BIT _UC_USER_BIT #======================================================================== # for pthread_switch.S define PT_UC offsetof(struct __pthread_st, pt_uc) define CONTEXTSIZE sizeof(ucontext_t) define STACKSPACE STACKSPACE