On Tue, Sep 27, 2011 at 8:57 AM, Avi Kivity <a...@redhat.com> wrote: > On 09/27/2011 11:33 AM, Avi Kivity wrote: >> >> On 09/26/2011 09:07 PM, Blue Swirl wrote: >>> >>> >> The default address is used for early serial printk in OpenBIOS, so >>> >> it >>> >> should still work. >>> > >>> > Ok, so drop the extra mapping, but init the dynamic mapping to >>> > 0x80013000. >>> >>> That should work. >> >> It's already there (macio.c): >> >> if (macio_state->escc_mem) { >> memory_region_add_subregion(bar, 0x13000, macio_state->escc_mem); >> } >> >> I'll drop the extra mapping. >> > > Well, it's not that easy. As the other mapping is part of an ordinary BAR, > you need to setup the device (at least PCI_COMMAND and PCI_BASE_ADDRESS_0) > so it responds to memory requests, and also enable the bridge. > > We could hack it by having a low-priority mapping at 0x80013000, but it > seems wrong. Maybe the firmware should configure that BAR first? What > happens on real hardware?
In this message I seem to confess that the address is arbitrary and in the subsequent messages the overlap with PCI region is also discussed. http://lists.nongnu.org/archive/html/qemu-devel/2009-01/msg00542.html Maybe the address of macio should be fixed as Laurent suggested.