10aecb59bSDavid E. O'Brien /* 20aecb59bSDavid E. O'Brien * Copyright (c) 2001 David O'Brien. 30aecb59bSDavid E. O'Brien * Copyright (c) 1994-1996 Mark Brinicombe. 40aecb59bSDavid E. O'Brien * Copyright (c) 1994 Brini. 50aecb59bSDavid E. O'Brien * All rights reserved. 60aecb59bSDavid E. O'Brien * 70aecb59bSDavid E. O'Brien * This code is derived from software written for Brini by Mark Brinicombe 80aecb59bSDavid E. O'Brien * 90aecb59bSDavid E. O'Brien * Redistribution and use in source and binary forms, with or without 100aecb59bSDavid E. O'Brien * modification, are permitted provided that the following conditions 110aecb59bSDavid E. O'Brien * are met: 120aecb59bSDavid E. O'Brien * 1. Redistributions of source code must retain the above copyright 130aecb59bSDavid E. O'Brien * notice, this list of conditions and the following disclaimer. 140aecb59bSDavid E. O'Brien * 2. Redistributions in binary form must reproduce the above copyright 150aecb59bSDavid E. O'Brien * notice, this list of conditions and the following disclaimer in the 160aecb59bSDavid E. O'Brien * documentation and/or other materials provided with the distribution. 170aecb59bSDavid E. O'Brien * 3. All advertising materials mentioning features or use of this software 180aecb59bSDavid E. O'Brien * must display the following acknowledgement: 190aecb59bSDavid E. O'Brien * This product includes software developed by Brini. 200aecb59bSDavid E. O'Brien * 4. The name of the company nor the name of the author may be used to 210aecb59bSDavid E. O'Brien * endorse or promote products derived from this software without specific 220aecb59bSDavid E. O'Brien * prior written permission. 230aecb59bSDavid E. O'Brien * 240aecb59bSDavid E. O'Brien * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED 250aecb59bSDavid E. O'Brien * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 260aecb59bSDavid E. O'Brien * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 270aecb59bSDavid E. O'Brien * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 280aecb59bSDavid E. O'Brien * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 290aecb59bSDavid E. O'Brien * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 300aecb59bSDavid E. O'Brien * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 310aecb59bSDavid E. O'Brien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 320aecb59bSDavid E. O'Brien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 330aecb59bSDavid E. O'Brien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 340aecb59bSDavid E. O'Brien * SUCH DAMAGE. 350aecb59bSDavid E. O'Brien * 360aecb59bSDavid E. O'Brien * RiscBSD kernel project 370aecb59bSDavid E. O'Brien * 380aecb59bSDavid E. O'Brien * signal.h 390aecb59bSDavid E. O'Brien * 400aecb59bSDavid E. O'Brien * Architecture dependant signal types and structures 410aecb59bSDavid E. O'Brien * 420aecb59bSDavid E. O'Brien * Created : 30/09/94 430aecb59bSDavid E. O'Brien * 440aecb59bSDavid E. O'Brien * $NetBSD: signal.h,v 1.8 1998/09/14 02:48:33 thorpej Exp $ 450aecb59bSDavid E. O'Brien * $FreeBSD$ 460aecb59bSDavid E. O'Brien */ 470aecb59bSDavid E. O'Brien 480aecb59bSDavid E. O'Brien #ifndef _MACHINE_UCONTEXT_H_ 490aecb59bSDavid E. O'Brien #define _MACHINE_UCONTEXT_H_ 500aecb59bSDavid E. O'Brien 510aecb59bSDavid E. O'Brien typedef struct __mcontext { 520aecb59bSDavid E. O'Brien /* 530aecb59bSDavid E. O'Brien * The first 20 fields must match the definition of 540aecb59bSDavid E. O'Brien * sigcontext. So that we can support sigcontext 550aecb59bSDavid E. O'Brien * and ucontext_t at the same time. 560aecb59bSDavid E. O'Brien */ 570aecb59bSDavid E. O'Brien unsigned int mc_onstack; /* XXX - sigcontext compat. */ 580aecb59bSDavid E. O'Brien unsigned int mc_spsr; 590aecb59bSDavid E. O'Brien unsigned int mc_r0; 600aecb59bSDavid E. O'Brien unsigned int mc_r1; 610aecb59bSDavid E. O'Brien unsigned int mc_r2; 620aecb59bSDavid E. O'Brien unsigned int mc_r3; 630aecb59bSDavid E. O'Brien unsigned int mc_r4; 640aecb59bSDavid E. O'Brien unsigned int mc_r5; 650aecb59bSDavid E. O'Brien unsigned int mc_r6; 660aecb59bSDavid E. O'Brien unsigned int mc_r7; 670aecb59bSDavid E. O'Brien unsigned int mc_r8; 680aecb59bSDavid E. O'Brien unsigned int mc_r9; 690aecb59bSDavid E. O'Brien unsigned int mc_r10; 700aecb59bSDavid E. O'Brien unsigned int mc_r11; 710aecb59bSDavid E. O'Brien unsigned int mc_r12; 720aecb59bSDavid E. O'Brien unsigned int mc_usr_sp; 730aecb59bSDavid E. O'Brien unsigned int mc_usr_lr; 740aecb59bSDavid E. O'Brien unsigned int mc_svc_lr; 750aecb59bSDavid E. O'Brien unsigned int mc_pc; 760aecb59bSDavid E. O'Brien 770aecb59bSDavid E. O'Brien unsigned int __spare__[1]; /* XXX fix the size later */ 780aecb59bSDavid E. O'Brien } mcontext_t; 790aecb59bSDavid E. O'Brien 800aecb59bSDavid E. O'Brien #endif /* !_MACHINE_UCONTEXT_H_ */ 81