pcb.h revision 112917
11590Srgrimes/*- 21590Srgrimes * Copyright (c) 2001 Jake Burkholder. 31590Srgrimes * All rights reserved. 41590Srgrimes * 51590Srgrimes * Redistribution and use in source and binary forms, with or without 61590Srgrimes * modification, are permitted provided that the following conditions 71590Srgrimes * are met: 81590Srgrimes * 1. Redistributions of source code must retain the above copyright 91590Srgrimes * notice, this list of conditions and the following disclaimer. 101590Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 111590Srgrimes * notice, this list of conditions and the following disclaimer in the 121590Srgrimes * documentation and/or other materials provided with the distribution. 131590Srgrimes * 141590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 151590Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 161590Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 171590Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 181590Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 191590Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 201590Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 211590Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 221590Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 231590Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 241590Srgrimes * SUCH DAMAGE. 251590Srgrimes * 261590Srgrimes * $FreeBSD: head/sys/sparc64/include/pcb.h 112917 2003-04-01 03:05:46Z jake $ 271590Srgrimes */ 281590Srgrimes 291590Srgrimes#ifndef _MACHINE_PCB_H_ 301590Srgrimes#define _MACHINE_PCB_H_ 311590Srgrimes 321590Srgrimes#include <machine/fp.h> 331590Srgrimes#include <machine/frame.h> 3487715Smarkm 3587715Smarkm#define MAXWIN 8 3687715Smarkm 3787715Smarkm/* NOTE: pcb_fpstate must be aligned on a 64 byte boundary. */ 3887715Smarkmstruct pcb { 3987715Smarkm struct fpstate pcb_fpstate; 4028149Scharnier u_long pcb_sp; 411590Srgrimes u_long pcb_pc; 421590Srgrimes u_long pcb_nsaved; 431590Srgrimes u_long pcb_rwsp[MAXWIN]; 441590Srgrimes struct rwindow pcb_rw[MAXWIN]; 451590Srgrimes} __aligned(64); 461590Srgrimes 471590Srgrimes#ifdef _KERNEL 481590Srgrimesint savectx(struct pcb *pcb); 491590Srgrimes#endif 5012811Sbde 511590Srgrimes#endif /* !_MACHINE_PCB_H_ */ 52111007Sphk