qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Memory API: handling unassigned physical memory


From: Blue Swirl
Subject: Re: [Qemu-devel] Memory API: handling unassigned physical memory
Date: Sun, 6 May 2012 08:41:39 +0000

On Tue, May 1, 2012 at 6:48 PM, Mark Cave-Ayland
<address@hidden> wrote:
> On 01/05/12 07:57, Blue Swirl wrote:
>
>>> Therefore I can't change it to my (modified) sbus_mmio_map() function
>>> because it would break other non-SPARC platforms, and AIUI there is
>>> nothing
>>> in the memory API that allows me to move a subregion to a different
>>> MemoryRegion parent, even if I can get a reference to it with
>>> sysbus_mmio_get_region() after the sysbus_mmio_map() call - or have I
>>> misunderstood something?
>>
>>
>> Sysbus is used as a generic class for motherboard devices, there is an
>> assumption that there is no higher level bus. What we need here is a
>> full blown bus. The translations and mappigs between bus addresses and
>> motherboard addresses should be done in a Sysbus to SBus bridge
>> device, just like PCI host bridges do.
>
>
> Since SBus is mapped directly to physical addresses, is this mapping not
> just 1:1? Or does it make sense to re-work all the offsets of the various
> peripherals to be from the base address of the first slot?

The mapping is not direct, from device point of view there's IOMMU in
between and without help from IOMMU (or using the direct mode) the
device can't access the full 36 bit address space. The offset should
be from the start of the current slot, not first slot.

>
>
> ATB,
>
> Mark.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]