From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: qemu oddness with isolinux vesamenu.c32 Date: Sat, 19 Jul 2008 10:37:15 +0300 Message-ID: <488199AB.4020109@qumranet.com> References: <48800A9D.1080403@zytor.com> <4880C3F3.6010202@zytor.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Matt_Domsch@Dell.com, pjones@redhat.com, kvm@vger.kernel.org, Anthony Liguori To: "H. Peter Anvin" Return-path: Received: from il.qumranet.com ([212.179.150.194]:53594 "EHLO il.qumranet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753104AbYGSHhR (ORCPT ); Sat, 19 Jul 2008 03:37:17 -0400 In-Reply-To: <4880C3F3.6010202@zytor.com> Sender: kvm-owner@vger.kernel.org List-ID: H. Peter Anvin wrote: > > Furthermore, it is completely unnecessary. Instead of stuffing the old > pointer in an interupt vector and using the INT instruction, stuff it in > a variable in the local code segment, and use the following sequence: > > pushf > lcallw *%cs:old_vector > > In order to do this it needs, of course, to be able to write to its own > memory, which I'm not sure if qemu-kvm allows by default. If so, this You mean, "if not"? > is actually a defect in qemu-kvm, since modern expansion "ROMs" *do* > expect to be able to write to their own memory areas during > initialization; see the PnPBIOS spec, Appendix B; support for this > specification is mandatory for PCI systems. > kvm allows writing into the bios; qemu does not. I thought it was a kvm bug, but turns out that it's a qemu bug... (though to be fair, true emulation ought to start out read-only, then be enabled by the bios ram shadow mechanism) -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.