From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJp74-0006o0-Tv for qemu-devel@nongnu.org; Thu, 04 Oct 2012 13:21:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TJp70-0003tZ-CM for qemu-devel@nongnu.org; Thu, 04 Oct 2012 13:21:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48758) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TJp70-0003tQ-3U for qemu-devel@nongnu.org; Thu, 04 Oct 2012 13:21:26 -0400 Message-ID: <506DC58D.3010609@redhat.com> Date: Thu, 04 Oct 2012 14:21:17 -0300 From: Lucas Meneghel Rodrigues MIME-Version: 1.0 References: <20120930191146.GA20012@amt.cnet> <50694EC1.8060006@siemens.com> <20121001093102.GA14797@amt.cnet> <50696E9E.7030302@siemens.com> <87zk468h3y.fsf@codemonkey.ws> <506999ED.6010409@siemens.com> <20121003095532.GO23096@redhat.com> <506C1A1D.4020209@redhat.com> <506C3B7C.408@redhat.com> <506D699B.3000609@siemens.com> <506D7CC5.10805@redhat.com> <506D8099.4030408@siemens.com> In-Reply-To: <506D8099.4030408@siemens.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] qemu-kvm: remove "boot=on|off" drive parameter compatibility List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Gleb Natapov , kvm , Scott Moser , Marcelo Tosatti , Michael Tokarev , qemu-devel , Anthony Liguori , Cole Robinson , Paolo Bonzini , =?ISO-8859-1?Q?Andreas_F=E4rber?= On 10/04/2012 09:27 AM, Jan Kiszka wrote: > On 2012-10-04 14:10, Lucas Meneghel Rodrigues wrote: >> On 10/04/2012 07:48 AM, Jan Kiszka wrote: >>> On 2012-10-03 15:19, Paolo Bonzini wrote: >>>> Il 03/10/2012 12:57, Lucas Meneghel Rodrigues ha scritto: >>>>> Yep, I did send patches with the testdev device present on qemu-kvm.git >>>>> to qemu.git a while ago, but there were many comments on the review, I >>>>> ended up not implementing everything that was asked and the patches were >>>>> archived. >>>>> >>>>> If nobody wants to step up to port it, I'll re-read the original thread >>>>> and will spin up new patches (and try to go through the end with it). >>>>> Executing the KVM unittests is something that we can't afford to lose, >>>>> so I'd say it's important on this last mile effort to get rid of qemu-kvm. >>>> >>>> Absolutely, IIRC the problem was that testdev did a little bit of >>>> everything... let's see what's the functionality of testdev: >>>> >>>> - write (port 0xf1), can be replaced in autotest with: >>>> -device isa-debugcon,iobase=0xf1,chardev=... >>>> >>>> - exit code (port 0xf4), see this series: >>>> http://lists.gnu.org/archive/html/qemu-devel/2012-07/msg00818.html >>>> >>>> - ram size (port 0xd1). If we can also patch kvm-unittests, the memory >>>> is available in the CMOS or in fwcfg. Here is the SeaBIOS code: >>>> >>>> u32 rs = ((inb_cmos(0x34) << 16) | (inb_cmos(0x35) << 24)); >>>> if (rs) >>>> rs += 16 * 1024 * 1024; >>>> else >>>> rs = (((inb_cmos(0x30) << 10) | (inb_cmos(0x31) << 18)) >>>> + 1 * 1024 * 1024); >>>> >>>> The rest (ports 0xe0..0xe7, 0x2000..0x2017, MMIO) can be left in testdev. >>> >>> IIRC, one of the biggest problem with testdev was its hack to inject >>> interrupts. >> >> Jan, I assume this commit helps to fix this, right? >> >> commit b334ec567f1de9a60349991e7b75083d569ddb0a >> Author: Jan Kiszka >> Date: Fri Mar 2 10:30:47 2012 +0100 >> >> qemu-kvm: Use upstream kvm-i8259 >> >> Drop the qemu-kvm version in favor of the equivalent upstream >> implementation. This allows to move the i8259 back into the hwlib. >> >> Note that this also drops the testdev hack and restores proper >> isa_get_irq. If testdev scripts exist that inject > IRQ15, they need >> fixing. Testing for these interrupts on the PIIX3 makes no practical >> sense anyway as those lines are unused. >> >> Signed-off-by: Jan Kiszka >> Signed-off-by: Avi Kivity > > Yes, this improved it a lot as we no longer depend on additional > changes. I'm not sure if there was resistance beyond that. > > When cleaning up the code: register_ioport_read must be replaced with > the memory API. I did look at the MemoryRegionOps/memory_region_init_io and still did not figure out how to port things. I'll send a v2 addressing all the comments made so far but this one, just to see if people are OK with the direction of the full patch, then if you could give me some pointers of how to do this conversion, it'd be great.