1*068793ccSkettenis /* $OpenBSD: pcb.h,v 1.8 2021/01/09 13:14:02 kettenis Exp $ */ 20d8e59b5Skettenis 30d8e59b5Skettenis /* 40d8e59b5Skettenis * Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org> 50d8e59b5Skettenis * 60d8e59b5Skettenis * Permission to use, copy, modify, and distribute this software for any 70d8e59b5Skettenis * purpose with or without fee is hereby granted, provided that the above 80d8e59b5Skettenis * copyright notice and this permission notice appear in all copies. 90d8e59b5Skettenis * 100d8e59b5Skettenis * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 110d8e59b5Skettenis * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 120d8e59b5Skettenis * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 130d8e59b5Skettenis * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 140d8e59b5Skettenis * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 150d8e59b5Skettenis * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 160d8e59b5Skettenis * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 170d8e59b5Skettenis */ 180d8e59b5Skettenis 1913861200Skettenis #ifndef _MACHINE_PCB_H_ 2013861200Skettenis #define _MACHINE_PCB_H_ 2113861200Skettenis 220de853b5Skettenis #include <machine/reg.h> 233d73cff4Skettenis #include <machine/pte.h> 240de853b5Skettenis 2513861200Skettenis struct pcb { 260d8e59b5Skettenis register_t pcb_sp; 2713861200Skettenis u_int pcb_flags; 28*068793ccSkettenis #define PCB_FPU 0x000000001 290de853b5Skettenis #define PCB_VEC 0x000000002 300de853b5Skettenis #define PCB_VSX 0x000000004 313d73cff4Skettenis struct slb pcb_slb[32]; 32ad0d1d80Skettenis vaddr_t pcb_onfault; 33de47bf7fSkettenis vaddr_t pcb_userva; 340de853b5Skettenis struct fpreg pcb_fpstate; 3513861200Skettenis }; 3613861200Skettenis 3713861200Skettenis #endif /* _MACHINE_PCB_H_ */ 38