From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38127) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8px8-0005l4-Fg for qemu-devel@nongnu.org; Thu, 30 Jan 2014 06:38:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8px2-0006w3-2i for qemu-devel@nongnu.org; Thu, 30 Jan 2014 06:38:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:31068) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8px1-0006vk-QZ for qemu-devel@nongnu.org; Thu, 30 Jan 2014 06:38:31 -0500 Message-ID: <52EA39B4.4070204@redhat.com> Date: Thu, 30 Jan 2014 12:38:28 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F755935FEE9@lisa.maurer-it.com> <52E8FB96.2010801@redhat.com> <24E144B8C0207547AD09C467A8259F755936D961@lisa.maurer-it.com> In-Reply-To: <24E144B8C0207547AD09C467A8259F755936D961@lisa.maurer-it.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] pxe boot problems List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: "qemu-devel@nongnu.org" , Gerd Hoffmann On 01/30/14 07:37, Dietmar Maurer wrote: >> Does it work with TCG? > > It simply hangs a bit later if I use TCG, without any output on the console. Strange. How recent qemu happens this with? The relevant emulation code (under "ljmp Ev" in "target-i386/translate.c") has been changed as recently as commit 78261634 (not in any release yet). > But It works perfectly when I switch back to the pxe-XX.rom files. > >> Also, can you try with a NIC model different from the default e1000? > > same behavior with e1000, rtl8139, pcnet These do match my results. Please allow me to summarize the rest of the thread: - New builds of iPXE contain funny jmp instructions. - They are only present in the qemu tree in the efi-*.rom files, the pxe-*.rom builds date back to much earlier. - When running the funny jmp instructions in a KVM guest, you either need "unrestricted_guest" support from the host CPU (check the "/sys/module/kvm_intel/parameters/unrestricted_guest" file when kvm-intel.ko is inserted), *or* you need to ask KVM to emulate invalid guest state, by passing "emulate_invalid_guest_state=1" to kvm-intel.ko -- check your module options under /etc/modprobe.d. (Note that you should rebuild the initramfs with dracut if you change those options.) - In the latter case (ie. unrestricted_guest==0 && emulate_invalid_guest_state==1), you will still run into an emulation problem on a current RHEL-6 host *later* (a different jmp insn in the iPXE builds). I filed RHBZ#1059496 for this and posted the backport last night. Gleb's upstream patches in question are e35b7b9c and ea79849d. Laszlo