Add (non-upstream) patch to add the noapic flag on the kernel

command line on i386 only.  This works around a bug in 32-bit qemu.
This commit is contained in:
Richard W.M. Jones 2012-09-14 08:27:16 +01:00
parent 1301de6cb5
commit 366f5c0d4f
2 changed files with 52 additions and 4 deletions

View File

@ -0,0 +1,40 @@
From a0fec28ff8679e7233cde035fe7506ceaac9991b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 13 Sep 2012 15:25:56 +0100
Subject: [PATCH] i386: Add noapic flag to work around a qemu or kernel bug.
https://bugzilla.redhat.com/show_bug.cgi?id=857026
---
src/launch-libvirt.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index 3711363..e3de406 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -588,6 +588,12 @@ construct_libvirt_xml_boot (guestfs_h *g, xmlTextWriterPtr xo,
#define SERIAL_CONSOLE "ttyS0"
#endif
+#ifdef __i386__
+#define I386_NO_APIC "noapic " /* workaround for RHBZ#857026 */
+#else
+#define I386_NO_APIC
+#endif
+
#define LINUX_CMDLINE \
"panic=1 " /* force kernel to panic if daemon exits */ \
"console=" SERIAL_CONSOLE " " /* serial console */ \
@@ -595,7 +601,8 @@ construct_libvirt_xml_boot (guestfs_h *g, xmlTextWriterPtr xo,
"no_timer_check " /* fix for RHBZ#502058 */ \
"acpi=off " /* we don't need ACPI, turn it off */ \
"printk.time=1 " /* display timestamp before kernel messages */ \
- "cgroup_disable=memory " /* saves us about 5 MB of RAM */
+ "cgroup_disable=memory " /* saves us about 5 MB of RAM */ \
+ I386_NO_APIC
/* Linux kernel command line. */
guestfs___drive_name (appliance_index, appliance_root);
--
1.7.12

View File

@ -22,7 +22,7 @@ Summary: Access and modify virtual machine disk images
Name: libguestfs
Epoch: 1
Version: 1.19.40
Release: 2%{?dist}
Release: 3%{?dist}
License: LGPLv2+
Group: Development/Libraries
URL: http://libguestfs.org/
@ -37,7 +37,11 @@ BuildRequires: autoconf, automake, libtool, gettext-devel
# 'obsoletes' udev, but febootstrap doesn't get this relationship
# right. When udev disappears from the repository we can remove this
# patch.
Patch4: libguestfs-1.19.2-remove-udev-from-packagelist.patch
Patch2: libguestfs-1.19.2-remove-udev-from-packagelist.patch
# Non-upstream patch to add the noapic flag on the kernel command line
# on i386 only. This works around a bug in 32-bit qemu (RHBZ#857026).
Patch3: 0001-i386-Add-noapic-flag-to-work-around-a-qemu-or-kernel.patch
%if 0%{?rhel} >= 7
ExclusiveArch: x86_64
@ -682,8 +686,8 @@ for %{name}.
%patch1 -p1
autoreconf -i
%endif
%patch4 -p1
%patch2 -p1
%patch3 -p1
mkdir -p daemon/m4
@ -994,6 +998,10 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs
%changelog
* Fri Sep 14 2012 Richard W.M. Jones <rjones@redhat.com> - 1:1.19.40-3
- Add (non-upstream) patch to add the noapic flag on the kernel
command line on i386 only. This works around a bug in 32-bit qemu.
* Wed Sep 12 2012 Richard W.M. Jones <rjones@redhat.com> - 1:1.19.40-2
- Enable tests because RHBZ#853408 has been fixed in qemu-1.2.0-3.fc18.