1# $NetBSD: genassym.cf,v 1.16 2019/05/02 17:31:56 scole Exp $ 2 3# 4# Copyright (c) 1998 The NetBSD Foundation, Inc. 5# All rights reserved. 6# 7# This code is derived from software contributed to The NetBSD Foundation 8# by Charles M. Hannum. 9# 10# Redistribution and use in source and binary forms, with or without 11# modification, are permitted provided that the following conditions 12# are met: 13# 1. Redistributions of source code must retain the above copyright 14# notice, this list of conditions and the following disclaimer. 15# 2. Redistributions in binary form must reproduce the above copyright 16# notice, this list of conditions and the following disclaimer in the 17# documentation and/or other materials provided with the distribution. 18# 19# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29# POSSIBILITY OF SUCH DAMAGE. 30# 31 32# 33# Copyright (c) 1982, 1990 The Regents of the University of California. 34# All rights reserved. 35# 36# This code is derived from software contributed to Berkeley by 37# William Jolitz. 38# 39# Redistribution and use in source and binary forms, with or without 40# modification, are permitted provided that the following conditions 41# are met: 42# 1. Redistributions of source code must retain the above copyright 43# notice, this list of conditions and the following disclaimer. 44# 2. Redistributions in binary form must reproduce the above copyright 45# notice, this list of conditions and the following disclaimer in the 46# documentation and/or other materials provided with the distribution. 47# 3. Neither the name of the University nor the names of its contributors 48# may be used to endorse or promote products derived from this software 49# without specific prior written permission. 50# 51# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 52# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 53# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 54# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 55# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 56# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 57# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 58# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 59# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 60# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 61# SUCH DAMAGE. 62# 63# @(#)genassym.c 5.11 (Berkeley) 5/10/91 64# 65 66include <sys/param.h> 67include <sys/proc.h> 68include <sys/resourcevar.h> 69include <sys/device.h> 70include <sys/exec_elf.h> 71include <sys/ucontext.h> 72 73include <uvm/uvm.h> 74 75include <machine/pmap.h> 76include <machine/vmparam.h> 77include <machine/pte.h> 78include <machine/frame.h> 79include <machine/types.h> 80include <machine/pcb.h> 81 82define PAGE_SIZE PAGE_SIZE 83define PAGE_SHIFT PAGE_SHIFT 84define KSTACK_PAGES KSTACK_PAGES 85 86define IA64_VM_MINKERN_REGION IA64_VM_MINKERN_REGION 87define IA64_PBVM_RR IA64_PBVM_RR 88define IA64_PBVM_PAGE_SHIFT IA64_PBVM_PAGE_SHIFT 89define IA64_PSR_I IA64_PSR_I 90define IA64_PSR_DT IA64_PSR_DT 91define IA64_PSR_DFL IA64_PSR_DFL 92define IA64_PSR_DFH IA64_PSR_DFH 93define IA64_PSR_IT IA64_PSR_IT 94define IA64_PSR_RT IA64_PSR_RT 95define IA64_PSR_BN IA64_PSR_BN 96define IA64_PBVM_BASE IA64_PBVM_BASE 97define IA64_PBVM_PGTBL IA64_PBVM_PGTBL 98define IA64_DCR_DEFAULT IA64_DCR_DEFAULT 99 100define PTE_PRESENT PTE_PRESENT 101define PTE_ACCESSED PTE_ACCESSED 102define PTE_DIRTY PTE_DIRTY 103define PTE_PL_KERN PTE_PL_KERN 104define PTE_AR_RWX PTE_AR_RWX 105define PTE_MA_WB PTE_MA_WB 106define PTE_MA_UC PTE_MA_UC 107 108# errno values 109define ENAMETOOLONG ENAMETOOLONG 110define EFAULT EFAULT 111 112# Important offsets into the lwp and proc structs & associated constants 113define L_PCB offsetof(struct lwp, l_addr) 114 115define SIZEOF_PCB sizeof(struct pcb) 116define SIZEOF_TRAPFRAME sizeof(struct trapframe) 117define SIZEOF_SPECIAL sizeof(struct _special) 118 119define MC_SPECIAL offsetof(struct __mcontext, mc_special) 120define UC_MCONTEXT offsetof(struct __ucontext, uc_mcontext) 121 122# general constants 123define VM_MAX_ADDRESS VM_MAX_ADDRESS 124 125# Important offsets into the user struct & associated constants 126define UPAGES UPAGES 127 128define FRAME_SYSCALL FRAME_SYSCALL 129 130define PC_CURLWP offsetof(struct cpu_info, ci_curlwp) 131define PCB_ONFAULT offsetof(struct pcb, pcb_onfault) 132