pcb.h (131905) | pcb.h (133878) |
---|---|
1/*- 2 * Copyright (c) 2003,2004 Marcel Moolenaar 3 * Copyright (c) 2000 Doug Rabson 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 2003,2004 Marcel Moolenaar 3 * Copyright (c) 2000 Doug Rabson 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/ia64/include/pcb.h 131905 2004-07-10 19:56:00Z marcel $ | 27 * $FreeBSD: head/sys/ia64/include/pcb.h 133878 2004-08-16 18:54:23Z marcel $ |
28 */ 29 30#ifndef _MACHINE_PCB_H_ 31#define _MACHINE_PCB_H_ 32 33#include <machine/_regset.h> 34 35/* --- 5 unchanged lines hidden (view full) --- 41 struct _callee_saved pcb_preserved; 42 struct _callee_saved_fp pcb_preserved_fp; 43 struct _high_fp pcb_high_fp; 44 struct pcpu *pcb_fpcpu; 45 struct pmap *pcb_current_pmap; 46 47 uint64_t pcb_onfault; /* for copy faults */ 48 | 28 */ 29 30#ifndef _MACHINE_PCB_H_ 31#define _MACHINE_PCB_H_ 32 33#include <machine/_regset.h> 34 35/* --- 5 unchanged lines hidden (view full) --- 41 struct _callee_saved pcb_preserved; 42 struct _callee_saved_fp pcb_preserved_fp; 43 struct _high_fp pcb_high_fp; 44 struct pcpu *pcb_fpcpu; 45 struct pmap *pcb_current_pmap; 46 47 uint64_t pcb_onfault; /* for copy faults */ 48 |
49#if IA32 | 49 /* IA32 specific registers. */ |
50 uint64_t pcb_ia32_cflg; 51 uint64_t pcb_ia32_eflag; 52 uint64_t pcb_ia32_fcr; 53 uint64_t pcb_ia32_fdr; 54 uint64_t pcb_ia32_fir; 55 uint64_t pcb_ia32_fsr; 56#endif 57}; 58 59#ifdef _KERNEL 60 61#define savectx(p) swapctx(p, NULL) 62 63struct trapframe; 64 65void makectx(struct trapframe *, struct pcb *); 66void restorectx(struct pcb *) __dead2; 67int swapctx(struct pcb *old, struct pcb *new); 68 | 50 uint64_t pcb_ia32_cflg; 51 uint64_t pcb_ia32_eflag; 52 uint64_t pcb_ia32_fcr; 53 uint64_t pcb_ia32_fdr; 54 uint64_t pcb_ia32_fir; 55 uint64_t pcb_ia32_fsr; 56#endif 57}; 58 59#ifdef _KERNEL 60 61#define savectx(p) swapctx(p, NULL) 62 63struct trapframe; 64 65void makectx(struct trapframe *, struct pcb *); 66void restorectx(struct pcb *) __dead2; 67int swapctx(struct pcb *old, struct pcb *new); 68 |
69#if IA32 | |
70void ia32_restorectx(struct pcb *); 71void ia32_savectx(struct pcb *); | 69void ia32_restorectx(struct pcb *); 70void ia32_savectx(struct pcb *); |
72#endif | |
73 74#endif 75 76#endif /* _MACHINE_PCB_H_ */ | 71 72#endif 73 74#endif /* _MACHINE_PCB_H_ */ |