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.
--
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