|
@@ -63,6 +63,7 @@ cp_portable() {
|
|
|
-e 'linux/kernel' \
|
|
|
-e 'linux/sysinfo' \
|
|
|
-e 'asm/setup_data.h' \
|
|
|
+ -e 'asm/kvm_para.h' \
|
|
|
> /dev/null
|
|
|
then
|
|
|
echo "Unexpected #include in input file $f".
|
|
@@ -70,6 +71,15 @@ cp_portable() {
|
|
|
fi
|
|
|
|
|
|
header=$(basename "$f");
|
|
|
+
|
|
|
+ if test -z "$arch"; then
|
|
|
+ # Let users of include/standard-headers/linux/ headers pick the
|
|
|
+ # asm-* header that they care about
|
|
|
+ arch_cmd='/<asm\/\([^>]*\)>/d'
|
|
|
+ else
|
|
|
+ arch_cmd='s/<asm\/\([^>]*\)>/"standard-headers\/asm-'$arch'\/\1"/'
|
|
|
+ fi
|
|
|
+
|
|
|
sed -e 's/__aligned_u64/__u64 __attribute__((aligned(8)))/g' \
|
|
|
-e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
|
|
|
-e 's/u\([0-9][0-9]*\)/uint\1_t/g' \
|
|
@@ -78,7 +88,7 @@ cp_portable() {
|
|
|
-e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
|
|
|
-e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
|
|
|
-e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
|
|
|
- -e 's/<asm\/\([^>]*\)>/"standard-headers\/asm-'$arch'\/\1"/' \
|
|
|
+ -e "$arch_cmd" \
|
|
|
-e 's/__bitwise//' \
|
|
|
-e 's/__attribute__((packed))/QEMU_PACKED/' \
|
|
|
-e 's/__inline__/inline/' \
|
|
@@ -158,7 +168,12 @@ EOF
|
|
|
cp "$hdrdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/"
|
|
|
cp "$hdrdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/"
|
|
|
cp "$hdrdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/"
|
|
|
+
|
|
|
cp_portable "$hdrdir/include/asm/kvm_para.h" "$output/include/standard-headers/asm-$arch"
|
|
|
+ cat <<EOF >$output/linux-headers/asm-$arch/kvm_para.h
|
|
|
+#include "standard-headers/asm-$arch/kvm_para.h"
|
|
|
+EOF
|
|
|
+
|
|
|
# Remove everything except the macros from bootparam.h avoiding the
|
|
|
# unnecessary import of several video/ist/etc headers
|
|
|
sed -e '/__ASSEMBLY__/,/__ASSEMBLY__/d' \
|
|
@@ -208,6 +223,10 @@ if [ -d "$linux/LICENSES" ]; then
|
|
|
done
|
|
|
fi
|
|
|
|
|
|
+cat <<EOF >$output/linux-headers/linux/kvm_para.h
|
|
|
+#include "standard-headers/linux/kvm_para.h"
|
|
|
+#include <asm/kvm_para.h>
|
|
|
+EOF
|
|
|
cat <<EOF >$output/linux-headers/linux/virtio_config.h
|
|
|
#include "standard-headers/linux/virtio_config.h"
|
|
|
EOF
|
|
@@ -230,6 +249,7 @@ for i in "$hdrdir"/include/linux/*virtio*.h \
|
|
|
"$hdrdir/include/linux/ethtool.h" \
|
|
|
"$hdrdir/include/linux/const.h" \
|
|
|
"$hdrdir/include/linux/kernel.h" \
|
|
|
+ "$hdrdir/include/linux/kvm_para.h" \
|
|
|
"$hdrdir/include/linux/vhost_types.h" \
|
|
|
"$hdrdir/include/linux/sysinfo.h"; do
|
|
|
cp_portable "$i" "$output/include/standard-headers/linux"
|