xref: /netbsd-src/sys/arch/usermode/include/genheaders.sh (revision 98845911c0892e304b61813c96442a0fa0913d7c)
1#!/bin/sh
2#
3# Public domain
4#
5
6HDRS="asm.h"
7HDRS="$HDRS bswap.h"
8HDRS="$HDRS byte_swap.h"
9HDRS="$HDRS disklabel.h"
10HDRS="$HDRS elf_machdep.h"
11HDRS="$HDRS endian.h"
12HDRS="$HDRS endian_machdep.h"
13HDRS="$HDRS int_const.h"
14HDRS="$HDRS int_fmtio.h"
15HDRS="$HDRS int_limits.h"
16HDRS="$HDRS int_mwgwtypes.h"
17HDRS="$HDRS int_types.h"
18HDRS="$HDRS limits.h"
19HDRS="$HDRS netbsd32_machdep.h"
20HDRS="$HDRS param.h"
21HDRS="$HDRS ptrace.h"
22HDRS="$HDRS wchar_limits.h"
23HDRS="$HDRS cdefs.h"
24HDRS="$HDRS mcontext.h"
25HDRS="$HDRS frame_regs.h"
26HDRS="$HDRS cpufunc.h"
27
28for hdr in ${HDRS}; do
29	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
30
31	cat > ${hdr} << EOF
32/* \$NetBSD\$ */
33
34/*
35 * Automatically generated by $0 on $(date)
36 * Do not modify directly!
37 */
38#ifndef $G
39#define $G
40
41#if defined(__i386__)
42#include "../../i386/include/${hdr}"
43#elif defined(__x86_64__)
44#include "../../amd64/include/${hdr}"
45#elif defined(__arm__)
46#include "../../arm/include/${hdr}"
47#else
48#error port me
49#endif
50EOF
51
52	# header specific quirks
53	if [ "$hdr" = "disklabel.h" ]; then
54		echo "#include <machine/types.h>" >> ${hdr}
55		echo "#ifndef __HAVE_OLD_DISKLABEL" >> ${hdr}
56		echo "#undef DISKUNIT" >> ${hdr}
57		echo "#undef DISKPART" >> ${hdr}
58		echo "#undef DISKMINOR" >> ${hdr}
59		echo "#endif" >> ${hdr}
60	elif [ "$hdr" = "ptrace.h" ]; then
61		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
62		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
63	elif [ "$hdr" = "param.h" ]; then
64		cat >> ${hdr} << EOF
65#ifdef __arm__
66#define MACHINE "evbarm"
67#define PGSHIFT 12
68#define NBPG (1 << PGSHIFT)
69#define PGOFSET (NBPG - 1)
70#define NKMEMPAGES_MIN_DEFAULT  ((8 * 1024 * 1024) >> PAGE_SHIFT)
71#endif
72EOF
73		echo "#undef UPAGES" >> ${hdr}
74		echo "#define UPAGES 12" >> ${hdr}
75		echo "#undef USPACE" >> ${hdr}
76		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
77		echo "" >> ${hdr}
78		echo "#undef NKMEMPAGES_MAX_UNLIMITED" >> ${hdr}
79		echo "#include \"opt_kmempages.h\"" >> ${hdr}
80		echo "" >> ${hdr}
81	elif [ "$hdr" = "elf_machdep.h" ]; then
82		echo "#ifdef ELF_MD_PROBE_FUNC" >> ${hdr}
83		echo "#undef ELF_MD_PROBE_FUNC" >> ${hdr}
84		echo "#endif" >> ${hdr}
85	fi
86
87	echo >>${hdr}
88	echo "#endif" >> ${hdr}
89done
90