Mon Feb 15 03:09:59 2010 UTC ()
Put pcb_context first since it has the most interesting data (easier to
dump in debugger).


(matt)
diff -r1.20.62.2 -r1.20.62.3 src/sys/arch/mips/include/pcb.h

cvs diff -r1.20.62.2 -r1.20.62.3 src/sys/arch/mips/include/pcb.h (expand / switch to unified diff)

--- src/sys/arch/mips/include/pcb.h 2009/09/07 21:28:33 1.20.62.2
+++ src/sys/arch/mips/include/pcb.h 2010/02/15 03:09:59 1.20.62.3
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: pcb.h,v 1.20.62.2 2009/09/07 21:28:33 matt Exp $ */ 1/* $NetBSD: pcb.h,v 1.20.62.3 2010/02/15 03:09:59 matt Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1992, 1993 4 * Copyright (c) 1992, 1993
5 * The Regents of the University of California. All rights reserved. 5 * The Regents of the University of California. All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to Berkeley by 7 * This code is derived from software contributed to Berkeley by
8 * the Systems Programming Group of the University of Utah Computer 8 * the Systems Programming Group of the University of Utah Computer
9 * Science Department and Ralph Campbell. 9 * Science Department and Ralph Campbell.
10 * 10 *
11 * Redistribution and use in source and binary forms, with or without 11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions 12 * modification, are permitted provided that the following conditions
13 * are met: 13 * are met:
14 * 1. Redistributions of source code must retain the above copyright 14 * 1. Redistributions of source code must retain the above copyright
@@ -75,32 +75,31 @@ @@ -75,32 +75,31 @@
75 * 75 *
76 * @(#)pcb.h 8.1 (Berkeley) 6/10/93 76 * @(#)pcb.h 8.1 (Berkeley) 6/10/93
77 */ 77 */
78 78
79#ifndef _MIPS_PCB_H_ 79#ifndef _MIPS_PCB_H_
80#define _MIPS_PCB_H_ 80#define _MIPS_PCB_H_
81 81
82#include <mips/types.h> 82#include <mips/types.h>
83#include <mips/reg.h> 83#include <mips/reg.h>
84 84
85/* 85/*
86 * MIPS process control block 86 * MIPS process control block
87 */ 87 */
88struct pcb 88struct pcb {
89{ 
90 struct fpreg pcb_fpregs; /* saved floating point registers */ 
91 label_t pcb_context; /* kernel context for resume */ 89 label_t pcb_context; /* kernel context for resume */
92 void * pcb_onfault; /* for copyin/copyout faults */ 90 void * pcb_onfault; /* for copyin/copyout faults */
93 uint32_t pcb_ppl; /* previous priority level */ 91 uint32_t pcb_ppl; /* previous priority level */
 92 struct fpreg pcb_fpregs; /* saved floating point registers */
94}; 93};
95 94
96/* 95/*
97 * The pcb is augmented with machine-dependent additional data for 96 * The pcb is augmented with machine-dependent additional data for
98 * core dumps. 97 * core dumps.
99 */ 98 */
100struct md_coredump { 99struct md_coredump {
101 mips_reg_t md_regs[38]; 100 mips_reg_t md_regs[38];
102 struct fpreg md_fpregs; 101 struct fpreg md_fpregs;
103}; 102};
104 103
105#ifdef _KERNEL 104#ifdef _KERNEL
106#define PCB_FSR(pcb) ((pcb)->pcb_fpregs.r_regs[_R_FSR - _FPBASE]) 105#define PCB_FSR(pcb) ((pcb)->pcb_fpregs.r_regs[_R_FSR - _FPBASE])