qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
	Alex Williamson <alex.williamson@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: [Qemu-devel] [PATCH v2 3/7] memory: iommu support
Date: Wed, 31 Oct 2012 12:32:02 +0200	[thread overview]
Message-ID: <5090FE22.9080403@redhat.com> (raw)
In-Reply-To: <CAAu8pHvXP2wTjVuMwDE6b1t7+7iqxJmC4jDBp39E2ZzY=U2=tQ@mail.gmail.com>

On 10/30/2012 09:11 PM, Blue Swirl wrote:
> On Tue, Oct 30, 2012 at 11:47 AM, Avi Kivity <avi@redhat.com> wrote:
>> Add a new memory region type that translates addresses it is given,
>> then forwards them to a target address space.  This is similar to
>> an alias, except that the mapping is more flexible than a linear
>> translation and trucation, and also less efficient since the
>> translation happens at runtime.
>>
>> The implementation uses an AddressSpace mapping the target region to
>> avoid hierarchical dispatch all the way to the resolved region; only
>> iommu regions are looked up dynamically.
>>
>> +
>> +static MemoryRegionOps memory_region_iommu_ops = {
>> +    .read = memory_region_iommu_read,
>> +    .write = memory_region_iommu_write,
>> +#ifdef HOST_BIGENDIAN
>> +    .endianness = DEVICE_BIG_ENDIAN,
> 
> Why couple this with host endianness? I'd expect IOMMU to operate at
> target bus endianness, for example LE for PCI on PPC guest.

This has nothing to do with device endianness; we're translating from a
byte buffer (address_space_rw()) to a uint64_t
(MemoryRegionOps::read/write()) so we need to take host endianess into
account.

This code cleverly makes use of memory core endian support to do the
conversion for us.  But it's probably too clever and should be replaced
by an explicit call to a helper.



-- 
error compiling committee.c: too many arguments to function

  parent reply	other threads:[~2012-10-31 10:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-30 11:47 [Qemu-devel] [PATCH v2 0/7] IOMMU support Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 1/7] memory: fix address space initialization/destruction Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 2/7] memory: limit sections in the radix tree to the actual address space size Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 3/7] memory: iommu support Avi Kivity
2012-10-30 19:11   ` Blue Swirl
2012-10-30 20:03     ` Benjamin Herrenschmidt
2012-10-30 21:13       ` Blue Swirl
2012-10-31 10:32     ` Avi Kivity [this message]
2012-10-31 18:59       ` Benjamin Herrenschmidt
2012-11-01 13:44         ` Avi Kivity
2012-11-01 13:45           ` Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 4/7] memory: provide a MemoryRegion for IOMMUs to log faults Avi Kivity
2012-10-30 19:14   ` Blue Swirl
2012-10-31 10:33     ` Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 5/7] pci: use memory core for iommu support Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 6/7] vfio: abort if an emulated iommu is used Avi Kivity
2012-10-30 11:47 ` [Qemu-devel] [PATCH v2 7/7] i440fx: add an iommu Avi Kivity
2012-10-30 19:18   ` Blue Swirl
2012-10-31 10:34     ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5090FE22.9080403@redhat.com \
    --to=avi@redhat.com \
    --cc=agraf@suse.de \
    --cc=alex.williamson@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=blauwirbel@gmail.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).