fix boot with -kernel parameter
This commit is contained in:
parent
e5eca305a1
commit
fe1b7c1a3e
|
@ -0,0 +1,45 @@
|
||||||
|
From d6ecb03610dba922cbfde42acb41603e2c658047 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Glauber Costa <glommer@redhat.com>
|
||||||
|
Date: Fri, 8 May 2009 02:22:13 -0300
|
||||||
|
Subject: [PATCH 2/2] reset state for load_linux
|
||||||
|
|
||||||
|
The linux loader is just an option rom like any other, just with
|
||||||
|
some special requirements. Right now, our option rom resetting
|
||||||
|
mechanism is not being applied to it. As a result, users using
|
||||||
|
-kernel will not be able to successfully reboot their machines
|
||||||
|
|
||||||
|
This patch fixes it by saving all the data we generated in
|
||||||
|
the load_linux() function, to be used later by the option rom
|
||||||
|
resetting mechanism.
|
||||||
|
|
||||||
|
Signed-off-by: Glauber Costa <glommer@redhat.com>
|
||||||
|
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
||||||
|
---
|
||||||
|
hw/pc.c | 7 +++++++
|
||||||
|
1 files changed, 7 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
Index: qemu-kvm-0.10/qemu/hw/pc.c
|
||||||
|
===================================================================
|
||||||
|
--- qemu-kvm-0.10.orig/qemu/hw/pc.c
|
||||||
|
+++ qemu-kvm-0.10/qemu/hw/pc.c
|
||||||
|
@@ -527,6 +527,7 @@ static void generate_bootsect(uint8_t *o
|
||||||
|
rom[sizeof(rom) - 1] = -sum;
|
||||||
|
|
||||||
|
memcpy(option_rom, rom, sizeof(rom));
|
||||||
|
+ option_rom_setup_reset(option_rom, sizeof (rom));
|
||||||
|
}
|
||||||
|
|
||||||
|
static long get_file_size(FILE *f)
|
||||||
|
@@ -694,6 +695,12 @@ static void load_linux(uint8_t *option_r
|
||||||
|
memset(gpr, 0, sizeof gpr);
|
||||||
|
gpr[4] = cmdline_addr-real_addr-16; /* SP (-16 is paranoia) */
|
||||||
|
|
||||||
|
+ option_rom_setup_reset(real_addr, setup_size);
|
||||||
|
+ option_rom_setup_reset(prot_addr, kernel_size);
|
||||||
|
+ option_rom_setup_reset(cmdline_addr, cmdline_size);
|
||||||
|
+ if (initrd_filename)
|
||||||
|
+ option_rom_setup_reset(initrd_addr, initrd_size);
|
||||||
|
+
|
||||||
|
generate_bootsect(option_rom, gpr, seg, 0);
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Summary: QEMU is a FAST! processor emulator
|
Summary: QEMU is a FAST! processor emulator
|
||||||
Name: qemu
|
Name: qemu
|
||||||
Version: 0.10
|
Version: 0.10
|
||||||
Release: 16%{?dist}
|
Release: 17%{?dist}
|
||||||
# I have mistakenly thought the revision name would be 1.0.
|
# I have mistakenly thought the revision name would be 1.0.
|
||||||
# So 0.10 series get Epoch = 1
|
# So 0.10 series get Epoch = 1
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
|
@ -37,6 +37,7 @@ Patch14: qemu-bios-bigger-roms.patch
|
||||||
Patch15: qemu-fix-display-breakage.patch
|
Patch15: qemu-fix-display-breakage.patch
|
||||||
Patch16: qemu-fix-qcow2-2TB.patch
|
Patch16: qemu-fix-qcow2-2TB.patch
|
||||||
Patch17: qemu-fix-qcow2-corruption.patch
|
Patch17: qemu-fix-qcow2-corruption.patch
|
||||||
|
Patch18: qemu-fix-load-linux.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
|
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
|
||||||
|
@ -234,6 +235,7 @@ such as kvmtrace and kvm_stat.
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
%patch17 -p1
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# systems like rhel build system does not have a recent enough linker so
|
# systems like rhel build system does not have a recent enough linker so
|
||||||
|
@ -478,6 +480,9 @@ fi
|
||||||
%{_mandir}/man1/qemu-img.1*
|
%{_mandir}/man1/qemu-img.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue May 12 2009 Glauber Costa <glommer@redhat.com> - 2:0.10-17
|
||||||
|
- fix reboot with -kernel parameter
|
||||||
|
|
||||||
* Fri May 1 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.10-16
|
* Fri May 1 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.10-16
|
||||||
- Really provide qemu-kvm as a metapackage
|
- Really provide qemu-kvm as a metapackage
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue