update-linux-headers.sh (98c710f2d5cdf37f29a267352eb1f3c28cbf369d) update-linux-headers.sh (74c98e20a604b9db58284b8727688df70e9bf643)
1#!/bin/sh -e
2#
3# Update Linux kernel headers QEMU requires from a specified kernel tree.
4#
5# Copyright (C) 2011 Siemens AG
6#
7# Authors:
8# Jan Kiszka <jan.kiszka@siemens.com>

--- 37 unchanged lines hidden (view full) ---

46
47 header=$(basename "$f");
48 sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
49 -e 's/__s\([0-9][0-9]*\)/int\1_t/g' \
50 -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
51 -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
52 -e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
53 -e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
1#!/bin/sh -e
2#
3# Update Linux kernel headers QEMU requires from a specified kernel tree.
4#
5# Copyright (C) 2011 Siemens AG
6#
7# Authors:
8# Jan Kiszka <jan.kiszka@siemens.com>

--- 37 unchanged lines hidden (view full) ---

46
47 header=$(basename "$f");
48 sed -e 's/__u\([0-9][0-9]*\)/uint\1_t/g' \
49 -e 's/__s\([0-9][0-9]*\)/int\1_t/g' \
50 -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
51 -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
52 -e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
53 -e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
54 -e 's/__bitwise__//' \
54 -e 's/__bitwise//' \
55 -e 's/__attribute__((packed))/QEMU_PACKED/' \
56 -e 's/__inline__/inline/' \
57 -e '/sys\/ioctl.h/d' \
58 -e 's/SW_MAX/SW_MAX_/' \
59 "$f" > "$to/$header";
60}
61
62# This will pick up non-directories too (eg "Kconfig") but we will

--- 7 unchanged lines hidden (view full) ---

70 continue
71 fi
72
73 # Blacklist architectures which have KVM headers but are actually dead
74 if [ "$arch" = "ia64" -o "$arch" = "mips" ]; then
75 continue
76 fi
77
55 -e 's/__attribute__((packed))/QEMU_PACKED/' \
56 -e 's/__inline__/inline/' \
57 -e '/sys\/ioctl.h/d' \
58 -e 's/SW_MAX/SW_MAX_/' \
59 "$f" > "$to/$header";
60}
61
62# This will pick up non-directories too (eg "Kconfig") but we will

--- 7 unchanged lines hidden (view full) ---

70 continue
71 fi
72
73 # Blacklist architectures which have KVM headers but are actually dead
74 if [ "$arch" = "ia64" -o "$arch" = "mips" ]; then
75 continue
76 fi
77
78 make -C "$linux" INSTALL_HDR_PATH="$tmpdir" SRCARCH=$arch headers_install
78 if [ "$arch" = x86 ]; then
79 arch_var=SRCARCH
80 else
81 arch_var=ARCH
82 fi
79
83
84 make -C "$linux" INSTALL_HDR_PATH="$tmpdir" $arch_var=$arch headers_install
85
80 rm -rf "$output/linux-headers/asm-$arch"
81 mkdir -p "$output/linux-headers/asm-$arch"
82 for header in kvm.h kvm_para.h unistd.h; do
83 cp "$tmpdir/include/asm/$header" "$output/linux-headers/asm-$arch"
84 done
85 if [ $arch = powerpc ]; then
86 cp "$tmpdir/include/asm/epapr_hcalls.h" "$output/linux-headers/asm-powerpc/"
87 fi
88
89 rm -rf "$output/include/standard-headers/asm-$arch"
90 mkdir -p "$output/include/standard-headers/asm-$arch"
91 if [ $arch = s390 ]; then
92 cp_portable "$tmpdir/include/asm/kvm_virtio.h" "$output/include/standard-headers/asm-s390/"
93 cp_portable "$tmpdir/include/asm/virtio-ccw.h" "$output/include/standard-headers/asm-s390/"
94 fi
86 rm -rf "$output/linux-headers/asm-$arch"
87 mkdir -p "$output/linux-headers/asm-$arch"
88 for header in kvm.h kvm_para.h unistd.h; do
89 cp "$tmpdir/include/asm/$header" "$output/linux-headers/asm-$arch"
90 done
91 if [ $arch = powerpc ]; then
92 cp "$tmpdir/include/asm/epapr_hcalls.h" "$output/linux-headers/asm-powerpc/"
93 fi
94
95 rm -rf "$output/include/standard-headers/asm-$arch"
96 mkdir -p "$output/include/standard-headers/asm-$arch"
97 if [ $arch = s390 ]; then
98 cp_portable "$tmpdir/include/asm/kvm_virtio.h" "$output/include/standard-headers/asm-s390/"
99 cp_portable "$tmpdir/include/asm/virtio-ccw.h" "$output/include/standard-headers/asm-s390/"
100 fi
101 if [ $arch = arm ]; then
102 cp "$tmpdir/include/asm/unistd-eabi.h" "$output/linux-headers/asm-arm/"
103 cp "$tmpdir/include/asm/unistd-oabi.h" "$output/linux-headers/asm-arm/"
104 cp "$tmpdir/include/asm/unistd-common.h" "$output/linux-headers/asm-arm/"
105 fi
95 if [ $arch = x86 ]; then
96 cp_portable "$tmpdir/include/asm/hyperv.h" "$output/include/standard-headers/asm-x86/"
97 cp "$tmpdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/"
98 cp "$tmpdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/"
99 cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/"
100 fi
101done
102
103rm -rf "$output/linux-headers/linux"
104mkdir -p "$output/linux-headers/linux"
106 if [ $arch = x86 ]; then
107 cp_portable "$tmpdir/include/asm/hyperv.h" "$output/include/standard-headers/asm-x86/"
108 cp "$tmpdir/include/asm/unistd_32.h" "$output/linux-headers/asm-x86/"
109 cp "$tmpdir/include/asm/unistd_x32.h" "$output/linux-headers/asm-x86/"
110 cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/"
111 fi
112done
113
114rm -rf "$output/linux-headers/linux"
115mkdir -p "$output/linux-headers/linux"
105for header in kvm.h kvm_para.h vfio.h vhost.h \
116for header in kvm.h kvm_para.h vfio.h vfio_ccw.h vhost.h \
106 psci.h userfaultfd.h; do
107 cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
108done
109rm -rf "$output/linux-headers/asm-generic"
110mkdir -p "$output/linux-headers/asm-generic"
111for header in kvm_para.h; do
112 cp "$tmpdir/include/asm-generic/$header" "$output/linux-headers/asm-generic"
113done

--- 34 unchanged lines hidden ---
117 psci.h userfaultfd.h; do
118 cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
119done
120rm -rf "$output/linux-headers/asm-generic"
121mkdir -p "$output/linux-headers/asm-generic"
122for header in kvm_para.h; do
123 cp "$tmpdir/include/asm-generic/$header" "$output/linux-headers/asm-generic"
124done

--- 34 unchanged lines hidden ---