xref: /openbsd-src/sys/arch/arm/arm/genassym.cf (revision aaa8efb37c85cfa0bfcccf33c96a297c02665e60)
1#	$OpenBSD: genassym.cf,v 1.21 2024/11/07 08:12:12 miod Exp $
2#	$NetBSD: genassym.cf,v 1.27 2003/11/04 10:33:16 dsl Exp$
3
4# Copyright (c) 1982, 1990 The Regents of the University of California.
5# All rights reserved.
6#
7# This code is derived from software contributed to Berkeley by
8# William Jolitz.
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# 3. Neither the name of the University nor the names of its contributors
19#    may be used to endorse or promote products derived from this software
20#    without specific prior written permission.
21#
22# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32# SUCH DAMAGE.
33
34include <sys/param.h>
35include <sys/proc.h>
36include <sys/systm.h>
37include <sys/mbuf.h>
38include <netinet/in.h>
39include <netinet/ip.h>
40
41include <machine/cpu.h>
42include <machine/cpufunc.h>
43
44include <arm/fiq.h>
45
46include <machine/frame.h>
47include <machine/vmparam.h>
48
49export	PAGE_SIZE
50
51ifdef __ARM_FIQ_INDIRECT
52define	__ARM_FIQ_INDIRECT	1
53endif
54
55export	SONPROC
56
57struct	proc
58member	p_addr
59member	p_cpu
60member	p_stat
61
62struct	pcb
63member	pcb_pagedir
64member	pcb_cstate
65member	PCB_R8			pcb_un.un_32.pcb32_r8
66member	PCB_UND_SP		pcb_un.un_32.pcb32_und_sp
67member	pcb_onfault
68member	pcb_tcb
69
70struct	sigframe
71member	SIGF_SC			sf_sc
72
73struct	cpu_functions
74member	cf_idcache_wbinv_all
75member	cf_context_switch
76member	cf_sleep
77
78struct	cpu_info
79member	ci_curproc
80member	ci_curpcb
81member	ci_idepth
82ifdef MULTIPROCESSOR
83member	ci_ttbr0
84member	ci_pl1_stkend
85member	ci_self
86endif
87
88# Constants required for in_cksum() and friends.
89define	M_LEN			offsetof(struct mbuf, m_len)
90define	M_DATA			offsetof(struct mbuf, m_data)
91define	M_NEXT			offsetof(struct mbuf, m_next)
92define	IP_SRC			offsetof(struct ip, ip_src)
93define	IP_DST			offsetof(struct ip, ip_dst)
94