On 2012-10-04 19:21, Lucas Meneghel Rodrigues wrote: > 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 <jan.kiszka@xxxxxxxxxxx> >>> 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 <jan.kiszka@xxxxxxxxxxx> >>> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx> >> >> 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. > See e.g. http://thread.gmane.org/gmane.comp.emulators.qemu/171217 Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html