On 10/12/2010 04:34 PM, Juergen Lock wrote:
In article<4cb38c82.1090...@linux.vnet.ibm.com> you write:
After suffering from a prolonged maintainer softlockup, I'm attempting
to get 0.13.0 release process back on track.
I've tagged qemu-0.13.0-rc3 in git which only carries a few changes
since 0.13.0-rc1. Most notably, a series of updates from Kevin Wolf and
Cam Macdonell's ivshmem device.
I think we're pretty good testing wise for the final release but I
wanted to offer a 24-hour window for last minute fixes. I'm only
interested in the following:
1) Patches that are *tested* against the stable-0.13 branch that are
already committed in master. Please tell me explicitly that you've
tested the patch and how you've tested it.
[...]
First tests:
- vmmouse seems broken (or disabled? I don't see it in `info qdm'...)
I don't think vmmouse is part of qdev yet.
- to test arm emulation I tried booting my old zaurus images (-M terrier)
which failed (q&d fix below), and in the process also tested -M n800
w/o an image which failed with:
qemu-system-arm: Duplicate ID 'null' for chardev
Can't create serial device, empty char device
and that I got fixed by cherry-picking this commit from master:
6a8aabd3c132188ee8e0e82ef4aba09f782cbe96
From: Stefan Weil<w...@mail.berlios.de>
Date: Sun, 8 Aug 2010 14:09:26 +0200
Subject: [PATCH] hw/omap: Fix default setup for OMAP UART devices
Sorry, is the patch below an additional fix? If so, please submit
against master.
Regards,
Anthony Liguori
==========
And the zaurus patch, problem was the 2nd scoop's base address
(0x08800040) gets rounded down to start of page which causes its
io read/write callbacks to be passed addresses 0x40 higher than
the code expects: (as witnessed by "Bad register offset" messages
and failure to attach the internal CF disk aka microdrive at least.)
Signed-off-by: Juergen Lock<n...@jelal.kn-bremen.de>
--- a/hw/zaurus.c
+++ b/hw/zaurus.c
@@ -70,6 +70,10 @@ static uint32_t scoop_readb(void *opaque
{
ScoopInfo *s = (ScoopInfo *) opaque;
+ // XXX Workaround for base address (0x08800040 in this case)
+ // rounded down to start of page
+ addr&= 0x3f;
+
switch (addr) {
case SCOOP_MCR:
return s->mcr;
@@ -104,6 +108,10 @@ static void scoop_writeb(void *opaque, t
ScoopInfo *s = (ScoopInfo *) opaque;
value&= 0xffff;
+ // XXX Workaround for base address (0x08800040 in this case)
+ // rounded down to start of page
+ addr&= 0x3f;
+
switch (addr) {
case SCOOP_MCR:
s->mcr = value;