[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 15/17] scripts: add arch specific standard-header
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PATCH v2 15/17] scripts: add arch specific standard-headers |
Date: |
Sun, 15 Feb 2015 12:39:25 +0100 |
Move virtio header copying logic to a function,
use that to copy arch specific virtio headers.
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
scripts/update-linux-headers.sh | 56 ++++++++++++++++++++++++-----------------
1 file changed, 33 insertions(+), 23 deletions(-)
diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index 9654553..1be4d83 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -28,6 +28,36 @@ if [ -z "$output" ]; then
output="$PWD"
fi
+cp_virtio() {
+ from=$1
+ to=$2
+ virtio=$(find "$from" -name '*virtio*h')
+ if [ "$virtio" ]; then
+ rm -rf "$to"
+ mkdir -p "$to"
+ for f in $virtio; do
+ if
+ grep '#include' "$f" | grep -v -e 'linux/virtio' \
+ -e 'linux/types' \
+ -e 'linux/if_ether' \
+ > /dev/null
+ then
+ echo "Unexpected #include in input file $f".
+ exit 2
+ fi
+
+ header=$(expr "$f" : '.*/\(.*\)');
+ sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
+ -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
+ -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
+ -e 's/<linux\/\([^>]*\)>/"standard-headers\/sys\/\1"/' \
+ -e 's/__bitwise__//' \
+ -e 's/__attribute__((packed))/QEMU_PACKED/' \
+ "$f" > "$to/$header";
+ done
+ fi
+}
+
# This will pick up non-directories too (eg "Kconfig") but we will
# ignore them in the next loop.
ARCHLIST=$(cd "$linux/arch" && echo *)
@@ -57,6 +87,8 @@ for arch in $ARCHLIST; do
if [ $arch = powerpc ]; then
cp "$tmpdir/include/asm/epapr_hcalls.h"
"$output/linux-headers/asm-powerpc/"
fi
+
+ cp_virtio "$tmpdir/include/asm"
"$output/include/standard-headers/asm-$arch"
done
rm -rf "$output/linux-headers/linux"
@@ -83,29 +115,7 @@ cat <<EOF >$output/linux-headers/linux/virtio_ring.h
#include "standard-headers/sys/virtio_ring.h"
EOF
-rm -rf "$output/include/standard-headers/sys"
-mkdir -p "$output/include/standard-headers/sys"
-for f in $tmpdir/include/linux/virtio*h; do
- if
- grep '#include' "$f" | grep -v -e 'linux/virtio' \
- -e 'linux/types' \
- -e 'linux/if_ether' \
- > /dev/null
- then
- echo "Unexpected #include in input file $f".
- exit 2
- fi
-
- header=$(expr "$f" : '.*/\(.*\)');
- sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
- -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
- -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
- -e 's/<linux\/\([^>]*\)>/"standard-headers\/sys\/\1"/' \
- -e 's/__bitwise__//' \
- -e 's/__attribute__((packed))/QEMU_PACKED/' \
- "$tmpdir/include/linux/$header" > \
- "$output/include/standard-headers/sys/$header";
-done
+cp_virtio "$tmpdir/include/linux/" "$output/include/standard-headers/sys"
cat <<EOF >$output/include/standard-headers/sys/types.h
#include <inttypes.h>
--
MST
- [Qemu-devel] [PATCH v2 08/17] virtio-net, tap: use standard-headers, (continued)
[Qemu-devel] [PATCH v2 11/17] virtio-serial: switch to standard-headers, Michael S. Tsirkin, 2015/02/15
[Qemu-devel] [PATCH v2 12/17] update-linux-headers: use standard-headers, Michael S. Tsirkin, 2015/02/15
[Qemu-devel] [PATCH v2 13/17] linux-headers: use standard-headers, Michael S. Tsirkin, 2015/02/15
[Qemu-devel] [PATCH v2 14/17] virtio-pci: use standard headers, Michael S. Tsirkin, 2015/02/15
[Qemu-devel] [PATCH v2 15/17] scripts: add arch specific standard-headers,
Michael S. Tsirkin <=
[Qemu-devel] [PATCH v2 16/17] standard-headers: add s390 virtio headers, Michael S. Tsirkin, 2015/02/15
[Qemu-devel] [PATCH v2 17/17] s390: use standard headers, Michael S. Tsirkin, 2015/02/15
Re: [Qemu-devel] [PATCH v2 00/17] virtio: pull headers from linux, Peter Maydell, 2015/02/15
Re: [Qemu-devel] [PATCH v2 00/17] virtio: pull headers from linux, Cornelia Huck, 2015/02/16