On 19 February 2013 16:05, Jan Kiszka <jan.kis...@siemens.com> wrote:
> On 2013-02-19 16:54, Peter Maydell wrote:
>> On 19 February 2013 15:51, Jan Kiszka <jan.kis...@siemens.com> wrote:
>>> On 2013-02-19 16:20, Michael S. Tsirkin wrote:
>>>>      qdev_init_nofail(dev);
>>>>      d = SYS_BUS_DEVICE(dev);
>>>> -    sysbus_mmio_map(d, 0, 0xfec00000);
>>>> +    /* APIC overlaps the PCI window. */
>>>> +    sysbus_mmio_map_overlap(d, 0, 0xfec00000, 1000);
>>>
>>> That's the IOAPIC, not the APIC. If you mean the IOAPIC, APIC and HPET
>>> would require higher prio, too. But I suppose this is really about the
>>> APIC and its special priority due to CPU-local access dispatching, right?
>>
>> Is this a proposed minimally invasive patch for 1.4 with a
>> different approach (possibly involving reworking things with
>> a better managed set of container regions) for master, or
>> is this the planned fix for master too?
>
> I'm not yet sure we need any overhaul at all. If hardware prioritizes
> certain windows like APIC, IOAPIC, HPET over PCI device mappings, then
> we can already express this today - we just need to do it.

Yes, indeed, but there are different ways to do it with the
API we have at the moment (the patch above being one way).
On reflection it's probably a reasonable approach since we
can't currently set up CPUs to dispatch memory accesses to
an arbitrary MemoryRegion.[*]

[*] by which I mean that really the correct model for this
would be something like:
 the CPU cores live inside a QOM container object which also
 has the CPU-local devices like the IOAPIC &c inside it.
 This container has a container memory region which is set
 up as "background region == the MR which the board model
 passes to us; overlaid at higher priority == CPU-local devices",
 and that container MR is then what you pass to the CPU cores
 as their view of the address space.
I don't suppose we'll go down that path until we have a compelling
reason to implement multiple bus masters with different views
of the address space, though.

-- PMM

Reply via email to