diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-05-25 11:58:59 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-05-25 11:58:59 +0000 |
commit | d265c8337f3117f1e6755f4eec2aa6f2015bd3a4 (patch) | |
tree | 6ab2f94b09505feb8e77319b63847da8749f90c7 /sysdeps/unix/sysv/linux/sparc/sparc64/sys | |
parent | 6d8ec2b1b2934abc8d951ccb534872f0086fda48 (diff) | |
download | glibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.tar.gz glibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.tar.xz glibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.zip |
Update.
1999-05-24 Jakub Jelinek <jj@ultra.linux.cz> * sysdeps/sparc/bits/wordsize.h: New file. * sysdeps/sparc/bits/fenv.h: New file. * sysdeps/sparc/fpu_control.h: New file. * sysdeps/sparc/gmp-mparam.h: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: Remove. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Remove. * sysdeps/sparc/sparc64/bits/wordsize.h: Remove. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Remove. * sysdeps/sparc/sparc64/gmp-mparam.h: Remove. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/types.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: New file. * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Remove. 1999-05-19 Jakub Jelinek <jj@ultra.linux.cz> 1999-05-19 Jakub Jelinek <jj@ultra.linux.cz> 1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/sys')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h deleted file mode 100644 index 03ec8ae791..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h +++ /dev/null @@ -1,238 +0,0 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> -#include <bits/wordsize.h> - -#if __WORDSIZE == 64 - -#define MC_TSTATE 0 -#define MC_PC 1 -#define MC_NPC 2 -#define MC_Y 3 -#define MC_G1 4 -#define MC_G2 5 -#define MC_G3 6 -#define MC_G4 7 -#define MC_G5 8 -#define MC_G6 9 -#define MC_G7 10 -#define MC_O0 11 -#define MC_O1 12 -#define MC_O2 13 -#define MC_O3 14 -#define MC_O4 15 -#define MC_O5 16 -#define MC_O6 17 -#define MC_O7 18 -#define MC_NGREG 19 - -typedef unsigned long mc_greg_t; -typedef mc_greg_t mc_gregset_t[MC_NGREG]; - -#define MC_MAXFPQ 16 -struct mc_fq { - unsigned long *mcfq_addr; - unsigned int mcfq_insn; -}; - -struct mc_fpu { - union { - unsigned int sregs[32]; - unsigned long dregs[32]; - long double qregs[16]; - } mcfpu_fregs; - unsigned long mcfpu_fsr; - unsigned long mcfpu_fprs; - unsigned long mcfpu_gsr; - struct mc_fq *mcfpu_fq; - unsigned char mcfpu_qcnt; - unsigned char mcfpu_qentsz; - unsigned char mcfpu_enab; -}; -typedef struct mc_fpu mc_fpu_t; - -typedef struct { - mc_gregset_t mc_gregs; - mc_greg_t mc_fp; - mc_greg_t mc_i7; - mc_fpu_t mc_fpregs; -} mcontext_t; - -typedef struct ucontext { - struct ucontext *uc_link; - unsigned long uc_flags; - unsigned long uc_sigmask; - mcontext_t uc_mcontext; -} ucontext_t; - -#else /* __WORDSIZE == 32 */ - -/* - * Location of the users' stored registers relative to R0. - * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. - */ -#define REG_PSR (0) -#define REG_PC (1) -#define REG_nPC (2) -#define REG_Y (3) -#define REG_G1 (4) -#define REG_G2 (5) -#define REG_G3 (6) -#define REG_G4 (7) -#define REG_G5 (8) -#define REG_G6 (9) -#define REG_G7 (10) -#define REG_O0 (11) -#define REG_O1 (12) -#define REG_O2 (13) -#define REG_O3 (14) -#define REG_O4 (15) -#define REG_O5 (16) -#define REG_O6 (17) -#define REG_O7 (18) - -/* - * A gregset_t is defined as an array type for compatibility with the reference - * source. This is important due to differences in the way the C language - * treats arrays and structures as parameters. - * - * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 19. - */ -#define NGREG 19 - -typedef int greg_t; -typedef greg_t gregset_t[NGREG]; - -/* - * The following structures define how a register window can appear on the - * stack. This structure is available (when required) through the `gwins' - * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the - * maximum number of outstanding regiters window defined in the SPARC - * architecture (*not* implementation). - */ -#define SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ -struct rwindow - { - greg_t rw_local[8]; /* locals */ - greg_t rw_in[8]; /* ins */ - }; - -#define rw_fp rw_in[6] /* frame pointer */ -#define rw_rtn rw_in[7] /* return address */ - -typedef struct gwindows - { - int wbcnt; - int *spbuf[SPARC_MAXREGWINDOW]; - struct rwindow wbuf[SPARC_MAXREGWINDOW]; - } gwindows_t; - -/* - * Floating point definitions. - */ - -#define MAXFPQ 16 /* max # of fpu queue entries currently supported */ - -/* - * struct fq defines the minimal format of a floating point instruction queue - * entry. The size of entries in the floating point queue are implementation - * dependent. The union FQu is guarenteed to be the first field in any ABI - * conformant system implementation. Any additional fields provided by an - * implementation should not be used applications designed to be ABI conformant. */ - -struct fpq - { - unsigned long *fpq_addr; /* address */ - unsigned long fpq_instr; /* instruction */ - }; - -struct fq - { - union /* FPU inst/addr queue */ - { - double whole; - struct fpq fpq; - } FQu; - }; - -#define FPU_REGS_TYPE unsigned -#define FPU_DREGS_TYPE unsigned long long -#define V7_FPU_FSR_TYPE unsigned -#define V9_FPU_FSR_TYPE unsigned long long -#define V9_FPU_FPRS_TYPE unsigned - -typedef struct fpu - { - union { /* FPU floating point regs */ - unsigned long long fpu_regs[32]; /* 32 singles */ - double fpu_dregs[16]; /* 16 doubles */ - } fpu_fr; - struct fq *fpu_q; /* ptr to array of FQ entries */ - unsigned fpu_fsr; /* FPU status register */ - unsigned char fpu_qcnt; /* # of entries in saved FQ */ - unsigned char fpu_q_entrysize; /* # of bytes per FQ entry */ - unsigned char fpu_en; /* flag signifying fpu in use */ - } fpregset_t; - -/* - * The following structure is for associating extra register state with - * the ucontext structure and is kept within the uc_mcontext filler area. - * - * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to - * extra register state. The exact format of the extra register state - * pointed to by xrs_ptr is platform-dependent. - * - * Note: a platform may or may not manage extra register state. - */ -typedef struct - { - unsigned int xrs_id; /* indicates xrs_ptr validity */ - void * xrs_ptr; /* ptr to extra reg state */ - } xrs_t; - -#define XRS_ID 0x78727300 /* the string "xrs" */ - -typedef struct - { - gregset_t gregs; /* general register set */ - gwindows_t *gwins; /* POSSIBLE pointer to register windows */ - fpregset_t fpregs; /* floating point register set */ - xrs_t xrs; /* POSSIBLE extra register state association */ - long filler[19]; - } mcontext_t; - - -/* Userlevel context. */ -typedef struct ucontext - { - unsigned long uc_flags; - struct ucontext *uc_link; - unsigned long uc_sigmask[4]; /* a svr4 sigset_t */ - stack_t uc_stack; - mcontext_t uc_mcontext; - long uc_filler[23]; - } ucontext_t; - -#endif /* __WORDSIZE == 32 */ -#endif /* sys/ucontext.h */ |