summarylogtreecommitdiffstats
path: root/20_linux_xen-detect-x86-xen-dom0-linux-list.patch
diff options
context:
space:
mode:
Diffstat (limited to '20_linux_xen-detect-x86-xen-dom0-linux-list.patch')
-rw-r--r--20_linux_xen-detect-x86-xen-dom0-linux-list.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/20_linux_xen-detect-x86-xen-dom0-linux-list.patch b/20_linux_xen-detect-x86-xen-dom0-linux-list.patch
new file mode 100644
index 000000000000..d2feede06318
--- /dev/null
+++ b/20_linux_xen-detect-x86-xen-dom0-linux-list.patch
@@ -0,0 +1,25 @@
+diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
+index 3b1f47049..ec3895ee4 100644
+--- a/util/grub.d/20_linux_xen.in
++++ b/util/grub.d/20_linux_xen.in
+@@ -179,19 +179,7 @@ EOF
+
+ linux_list=
+ for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
+- if grub_file_is_not_garbage "$i"; then
+- basename=$(basename $i)
+- version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
+- dirname=$(dirname $i)
+- config=
+- for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
+- if test -e "${j}" ; then
+- config="${j}"
+- break
+- fi
+- done
+- if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then linux_list="$linux_list $i" ; fi
+- fi
++ if (grub_file_is_not_garbage "$i" && $grub_file --is-x86-xen-dom0 "$i") ; then linux_list="$linux_list $i" ; fi
+ done
+ if [ "x${linux_list}" = "x" ] ; then
+ exit 0