These two files are copyrighted by Sun Microsystems.
authorJohn Gilmore <gnu@cygnus>
Fri, 23 Oct 1992 10:51:07 +0000 (10:51 +0000)
committerJohn Gilmore <gnu@cygnus>
Fri, 23 Oct 1992 10:51:07 +0000 (10:51 +0000)
Wind River stole them from the Sun Unix distributions.

We can't distribute them in an FSF GDB release.
We should even rewrite them for our own releases, though that is not
as urgent.

Until these two files are rewritten, VxWorks support in GDB will not compile.
The i960 support can be gained by just rewriting the ptrace.h file.
Only small amounts of the reg.h file need to be rebuilt -- compile
remote-vx.c to see what is needed.

John

gdb/vx-share/ptrace.h
gdb/vx-share/reg.h

index 8e3554f..bdc0f0f 100644 (file)
@@ -1,44 +1,7 @@
-/*     @(#)ptrace.h 1.1 86/07/07 SMI   */
+/* THIS FILE WAS `BORROWED' FROM A COPYRIGHTED
+   SUN MICROSYSTEMS INCLUDE FILE.  IT NEEDS TO BE REBUILT FROM SCRATCH.
 
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
+       John Gilmore
+       Cygnus Support
  */
-
-/*
-modification history
---------------------
-01a,05jun90,llk  borrowed.
-*/
-
-#ifndef _PTRACE_
-#define _PTRACE_
-
-/*
- * Request values for the ptrace system call
- */
-enum ptracereq {
-       PTRACE_TRACEME = 0,             /* 0, by tracee to begin tracing */
-       PTRACE_CHILDDONE = 0,           /* 0, tracee is done with his half */
-       PTRACE_PEEKTEXT,                /* 1, read word from text segment */
-       PTRACE_PEEKDATA,                /* 2, read word from data segment */
-       PTRACE_PEEKUSER,                /* 3, read word from user struct */
-       PTRACE_POKETEXT,                /* 4, write word into text segment */
-       PTRACE_POKEDATA,                /* 5, write word into data segment */
-       PTRACE_POKEUSER,                /* 6, write word into user struct */
-       PTRACE_CONT,                    /* 7, continue process */
-       PTRACE_KILL,                    /* 8, terminate process */
-       PTRACE_SINGLESTEP,              /* 9, single step process */
-       PTRACE_ATTACH,                  /* 10, attach to an existing process */
-       PTRACE_DETACH,                  /* 11, detach from a process */
-       PTRACE_GETREGS,                 /* 12, get all registers */
-       PTRACE_SETREGS,                 /* 13, set all registers */
-       PTRACE_GETFPREGS,               /* 14, get all floating point regs */
-       PTRACE_SETFPREGS,               /* 15, set all floating point regs */
-       PTRACE_READDATA,                /* 16, read data segment */
-       PTRACE_WRITEDATA,               /* 17, write data segment */
-       PTRACE_READTEXT,                /* 18, read text segment */
-       PTRACE_WRITETEXT,               /* 19, write text segment */
-       PTRACE_GETFPAREGS,              /* 20, get all fpa regs */
-       PTRACE_SETFPAREGS               /* 21, set all fpa regs */
-};
-#endif !_PTRACE
+FIXME
index 84658b7..bbc426e 100644 (file)
@@ -1,15 +1,3 @@
-/*      @(#)reg.h 1.1 86/07/07 SMI      */
-
-/*
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
-/*
-modification history
---------------------
-01a,05jun90,llk  borrowed.
-*/
-
 #ifndef _REG_
 #define _REG_
 
@@ -34,176 +22,13 @@ struct fp_status {
 
 #else  /* For now, just 68000 */
 
-/*
- * Location of the users' stored
- * registers relative to R0.
- * Usage is u.u_ar0[XX].
- */
-#define        R0      (0)
-#define        R1      (1)
-#define        R2      (2)
-#define        R3      (3)
-#define        R4      (4)
-#define        R5      (5)
-#define        R6      (6)
-#define        R7      (7)
-#define        AR0     (8)
-#define        AR1     (9)
-#define        AR2     (10)
-#define        AR3     (11)
-#define        AR4     (12)
-#define        AR5     (13)
-#define        AR6     (14)
-#define        AR7     (15)
-#define        SP      (15)
-#define        PS      (16)
-#define        PC      (17)
-
-/*
- * And now for something completely the same...
- */
-#ifndef LOCORE
-struct regs {  
-       int     r_dreg[8];      /* data registers */
-#define r_r0   r_dreg[0]       /* r0 for portability */
-       int     r_areg[8];      /* address registers */
-#define r_sp   r_areg[7]       /* user stack pointer */
-       int     r_sr;           /* status register (actually a short) */
-#define        r_ps    r_sr
-       int     r_pc;           /* program counter */
-};
-
-struct stkfmt {
-       int     f_stkfmt : 4;   /* stack format */
-       int              : 2;
-       int     f_vector : 10;  /* vector offset */
-       short   f_beibase;      /* start of bus error info (if any) */
-};
-
-
-/*
- * Struct for floating point registers and general state
- * for the MC68881 (the sky fpp has no user visible state).
- * If fps_flags == FPS_UNUSED, the other 68881 fields have no meaning.
- * fps_code and fps_flags are software implemented fields.
- * fps_flags is not used when set by user level programs,
- * but changing fps_code has the side effect of changing u.u_code.
- */
-
-typedef        struct ext_fp {
-       int     fp[3];
-} ext_fp;              /* extended 96-bit 68881 fp registers */
-
-struct fp_status {
-       ext_fp  fps_regs[8];            /* 68881 floating point regs */
-       int     fps_control;            /* 68881 control reg */
-       int     fps_status;             /* 68881 status reg */
-       int     fps_iaddr;              /* 68881 instruction address reg */
-       int     fps_code;               /* additional word for signals */
-       int     fps_flags;              /* r/o - unused, idle or busy */
-};
-#endif !LOCORE
-
-/*
- * Values defined for `fps_flags'.
- */
-#define        FPS_UNUSED      0               /* 68881 never used yet */
-#define        FPS_IDLE        1               /* 68881 instruction completed */
-#define        FPS_BUSY        2               /* 68881 instruction interrupted */
-
-/*
- * The EXT_FPS_FLAGS() macro is used to convert a pointer to an
- * fp_istate into a value to be used for the user visible state
- * found in fps_flags.  As a speed optimization, this convertion
- * is only done is required (e.g.  the PTRACE_GETFPREGS ptrace
- * call or when dumping core) instead of on each context switch.
- * The tests that we base the state on are that a fpis_vers of
- * FPIS_VERSNULL means NULL state, else a fpis_bufsiz of FPIS_IDLESZ
- * means IDLE state, else we assume BUSY state.
- */
-#define        FPIS_VERSNULL   0x0
-#define        FPIS_IDLESIZE   0x18
-
-#define EXT_FPS_FLAGS(istatep) \
-       ((istatep)->fpis_vers == FPIS_VERSNULL ? FPS_UNUSED : \
-           (istatep)->fpis_bufsiz == FPIS_IDLESIZE ? FPS_IDLE : FPS_BUSY)
-
-#ifndef LOCORE
-/*
- * Struct for the internal state of the MC68881
- * Although the MC68881 can have a smaller maximum for
- * internal state, we allow for more to allow for expansion.
- */
-#define        FPIS_BUFSIZ     0xc0
-
-struct fp_istate {
-       unsigned char   fpis_vers;              /* version number */
-       unsigned char   fpis_bufsiz;            /* size of info in fpis_buf */
-       unsigned short  fpis_reserved;          /* reserved word */
-       unsigned char   fpis_buf[FPIS_BUFSIZ];  /* fpp internal state buffer */
-};
-
-/* 
- * Structures for the status and data registers are defined here.
- * Struct fpa_status are included in the u area.
- * Struct fpa_regs is included in struct core.
- */
-
-/* struct fpa_status is saved/restored during context switch */
-struct fpa_status {
-       unsigned int    fpas_state;     /* STATE, supervisor privileged reg */
-       unsigned int    fpas_imask;     /* IMASK */
-       unsigned int    fpas_load_ptr;  /* LOAD_PTR */
-       unsigned int    fpas_ierr;      /* IERR */
-       unsigned int    fpas_act_instr; /* pipe active instruction halves */
-       unsigned int    fpas_nxt_instr; /* pipe next instruction halves */
-       unsigned int    fpas_act_d1half;/* pipe active data first half */
-       unsigned int    fpas_act_d2half;/* pipe active data second half */
-       unsigned int    fpas_nxt_d1half;/* pipe next data first half */
-       unsigned int    fpas_nxt_d2half;/* pipe next data second half */
-       unsigned int    fpas_mode3_0;   /* FPA MODE3_0 register */
-       unsigned int    fpas_wstatus;   /* FPA WSTATUS register */
-};
+/* THE 68000 VERSION OF THIS FILE WAS `BORROWED' FROM A COPYRIGHTED
+   SUN MICROSYSTEMS INCLUDE FILE.  IT NEEDS TO BE REBUILT FROM SCRATCH.
 
-/* 
- * Since there are 32 contexts supported by the FPA hardware,
- * when we do context switch on the FPA, we don't save/restore
- * the data registers between the FPA and the u area.
- * If there are already 32 processes using the fpa concurrently,
- * we give an error message to the 33rd process trying to use the fpa.
- * (Hopefully there will not be this many processes using FPA concurrently.)
+       John Gilmore
+       Cygnus Support
  */
-
-#define FPA_NCONTEXTS          32
-#define FPA_NDATA_REGS         32
-
-typedef struct fpa_long {
-       int     fpl_data[2];
-} fpa_long;             /* 64 bit double precision registers */
-
-/* Struct fpa_regs is included in struct core. */
-struct fpa_regs {
-       unsigned int    fpar_flags; /* if zero, other fields are meaningless */
-        struct fpa_status      fpar_status;
-        fpa_long       fpar_data[FPA_NDATA_REGS];
-};
-
-/*
- * The size of struct fpa_regs is changed from 141 ints in 3.0 to
- * 77 ints in 3.x.  A pad of this size difference is added to struct core.
- */
-#define CORE_PADLEN     64
-
-/*
- * If there is going to be external FPU state then we must define the FPU
- * variable
- */
-struct fpu {
-        struct  fp_status f_fpstatus;   /* External FPP state, if any */
-        struct  fpa_regs f_fparegs;     /* FPA registers, if any */
-        int     f_pad[CORE_PADLEN];     /* see comment above */
-};
-
-#endif !LOCORE
+FIXME
+   
 #endif /* !I80960 */
 #endif !_REG_