Annotation of sys/arch/alpha/include/proc.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: proc.h,v 1.10 2006/03/17 21:43:29 miod Exp $ */
2: /* $NetBSD: proc.h,v 1.2 1995/03/24 15:01:36 cgd Exp $ */
3:
4: /*
5: * Copyright (c) 1994, 1995 Carnegie-Mellon University.
6: * All rights reserved.
7: *
8: * Author: Chris G. Demetriou
9: *
10: * Permission to use, copy, modify and distribute this software and
11: * its documentation is hereby granted, provided that both the copyright
12: * notice and this permission notice appear in all copies of the
13: * software, derivative works or modified versions, and any portions
14: * thereof, and that both notices appear in supporting documentation.
15: *
16: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
17: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
18: * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
19: *
20: * Carnegie Mellon requests users of this software to return to
21: *
22: * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
23: * School of Computer Science
24: * Carnegie Mellon University
25: * Pittsburgh PA 15213-3890
26: *
27: * any improvements or extensions that they make and grant Carnegie the
28: * rights to redistribute these changes.
29: */
30:
31: #include <machine/cpu.h>
32: /*
33: * Machine-dependent part of the proc struct for the Alpha.
34: */
35:
36: struct mdbpt {
37: vaddr_t addr;
38: u_int32_t contents;
39: };
40:
41: struct mdproc {
42: u_long md_flags;
43: struct trapframe *md_tf; /* trap/syscall registers */
44: struct pcb *md_pcbpaddr; /* phys addr of the pcb */
45: struct mdbpt md_sstep[2]; /* two breakpoints for sstep */
46: };
47:
48: /*
49: * md_flags usage
50: * --------------
51: * MDP_FPUSED
52: * A largely unused bit indicating the presence of FPU history.
53: * Cleared on exec. Set but not used by the fpu context switcher
54: * itself.
55: *
56: * MDP_FP_C
57: * The architected FP Control word. It should forever begin at bit 1,
58: * as the bits are AARM specified and this way it doesn't need to be
59: * shifted.
60: *
61: * Until C99 there was never an IEEE 754 API, making most of the
62: * standard useless. Because of overlapping AARM, OSF/1, NetBSD, and
63: * C99 API's, the use of the MDP_FP_C bits is defined variously in
64: * ieeefp.h and fpu.h.
65: */
66: #define MDP_FPUSED 0x00000001 /* Process used the FPU */
67: #ifndef NO_IEEE
68: #define MDP_FP_C 0x007ffffe /* Extended FP_C Quadword bits */
69: #endif
70: #define MDP_STEP1 0x00800000 /* Single step normal */
71: #define MDP_STEP2 0x01800000 /* Single step branch */
CVSweb