xref: /netbsd-src/sys/arch/usermode/include/genheaders.sh (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
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"
26
27for hdr in ${HDRS}; do
28	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
29
30	cat > ${hdr} << EOF
31/* \$NetBSD\$ */
32
33/*
34 * Automatically generated by $0 on $(date)
35 * Do not modify directly!
36 */
37#ifndef $G
38#define $G
39
40#if defined(__i386__)
41#include "../../i386/include/${hdr}"
42#elif defined(__x86_64__)
43#include "../../amd64/include/${hdr}"
44#elif defined(__arm__)
45#include "../../arm/include/${hdr}"
46#else
47#error port me
48#endif
49EOF
50
51	# header specific quirks
52	if [ "$hdr" = "disklabel.h" ]; then
53		echo "#include <machine/types.h>" >> ${hdr}
54		echo "#ifndef __HAVE_OLD_DISKLABEL" >> ${hdr}
55		echo "#undef DISKUNIT" >> ${hdr}
56		echo "#undef DISKPART" >> ${hdr}
57		echo "#undef DISKMINOR" >> ${hdr}
58		echo "#endif" >> ${hdr}
59	elif [ "$hdr" = "ptrace.h" ]; then
60		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
61		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
62	elif [ "$hdr" = "param.h" ]; then
63		cat >> ${hdr} << EOF
64#ifdef __arm__
65#define MACHINE "evbarm"
66#define PGSHIFT 12
67#define NBPG (1 << PGSHIFT)
68#define PGOFSET (NBPG - 1)
69#define NKMEMPAGES_MIN_DEFAULT  ((8 * 1024 * 1024) >> PAGE_SHIFT)
70#endif
71EOF
72		echo "#undef UPAGES" >> ${hdr}
73		echo "#define UPAGES 12" >> ${hdr}
74		echo "#undef USPACE" >> ${hdr}
75		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
76		echo "" >> ${hdr}
77		echo "#undef NKMEMPAGES_MAX_UNLIMITED" >> ${hdr}
78		echo "#include \"opt_kmempages.h\"" >> ${hdr}
79		echo "" >> ${hdr}
80	elif [ "$hdr" = "elf_machdep.h" ]; then
81		echo "#ifdef ELF_MD_PROBE_FUNC" >> ${hdr}
82		echo "#undef ELF_MD_PROBE_FUNC" >> ${hdr}
83		echo "#endif" >> ${hdr}
84	fi
85
86	echo >>${hdr}
87	echo "#endif" >> ${hdr}
88done
89