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