From: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
To: Varun Sethi <Varun.Sethi-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Cc: "iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
"tech-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org"
<tech-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>,
"qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org"
<qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org>
Subject: Re: [RFC 0/6] vSMMU initialization
Date: Wed, 15 Jul 2015 18:37:58 +0100 [thread overview]
Message-ID: <20150715173757.GF17107@arm.com> (raw)
In-Reply-To: <BN1PR0301MB0627944BCFB295564CA1F7AAEA9A0-RQSpjbwlmjSD1ymB6+i1+JwN6zqB+hSMnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
On Wed, Jul 15, 2015 at 06:28:54PM +0100, Varun Sethi wrote:
> > > > On Fri, Jun 12, 2015 at 03:20:04PM +0100, Baptiste Reynal wrote:
> > > > > The ARM SMMU has support for 2-stages address translations,
> > > > > allowing a virtual address to be translated at two levels:
> > > > > - Stage 1 translates a virtual address (VA) into an intermediate
> > > > > physical address (IPA)
> > > > > - Stage 2 translates an IPA into a physical address (PA)
> > > > >
> > > > > Will Deacon introduced a virtual SMMU interface for KVM, which
> > > > > gives a virtual machine the possibility to use an IOMMU with native
> > drivers.
> > > > > While the VM will program the first stage of translation (stage
> > > > > 1), the interface will program the second (stage 2) on the physical
> > SMMU.
> > > >
> > > > Please note that I have no plans to merge the kernel-side of this at
> > > > the moment. It was merely an exploratory tool to see what a non-PV
> > > > vSMMU implementation might look like and certainly not intended to
> > > > be used in anger.
> > > How do you see the context fault reporting work for the PV interface?
> >
> > We could have an interrupt, for the PV IOMMU and have the hypervisor
> > inject that, no?
> >
> Can you please elaborate on the PV IOMMU interface. I want to understand
> how context fault information would be communicated to the guest.
I replied to this the other day!
My assumption is that we'd have an irq and some memory region to describe
the fault in as general a way as possible. Whether that memory region
looks like MMIO registers or something like a virtio ring buffer is an
implementation detail to be resolved by prototyping.
Will
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will.deacon@arm.com>
To: Varun Sethi <Varun.Sethi@freescale.com>
Cc: "iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
"tech@virtualopensystems.com" <tech@virtualopensystems.com>,
Baptiste Reynal <b.reynal@virtualopensystems.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC 0/6] vSMMU initialization
Date: Wed, 15 Jul 2015 18:37:58 +0100 [thread overview]
Message-ID: <20150715173757.GF17107@arm.com> (raw)
In-Reply-To: <BN1PR0301MB0627944BCFB295564CA1F7AAEA9A0@BN1PR0301MB0627.namprd03.prod.outlook.com>
On Wed, Jul 15, 2015 at 06:28:54PM +0100, Varun Sethi wrote:
> > > > On Fri, Jun 12, 2015 at 03:20:04PM +0100, Baptiste Reynal wrote:
> > > > > The ARM SMMU has support for 2-stages address translations,
> > > > > allowing a virtual address to be translated at two levels:
> > > > > - Stage 1 translates a virtual address (VA) into an intermediate
> > > > > physical address (IPA)
> > > > > - Stage 2 translates an IPA into a physical address (PA)
> > > > >
> > > > > Will Deacon introduced a virtual SMMU interface for KVM, which
> > > > > gives a virtual machine the possibility to use an IOMMU with native
> > drivers.
> > > > > While the VM will program the first stage of translation (stage
> > > > > 1), the interface will program the second (stage 2) on the physical
> > SMMU.
> > > >
> > > > Please note that I have no plans to merge the kernel-side of this at
> > > > the moment. It was merely an exploratory tool to see what a non-PV
> > > > vSMMU implementation might look like and certainly not intended to
> > > > be used in anger.
> > > How do you see the context fault reporting work for the PV interface?
> >
> > We could have an interrupt, for the PV IOMMU and have the hypervisor
> > inject that, no?
> >
> Can you please elaborate on the PV IOMMU interface. I want to understand
> how context fault information would be communicated to the guest.
I replied to this the other day!
My assumption is that we'd have an irq and some memory region to describe
the fault in as general a way as possible. Whether that memory region
looks like MMIO registers or something like a virtio ring buffer is an
implementation detail to be resolved by prototyping.
Will
next prev parent reply other threads:[~2015-07-15 17:37 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-12 14:20 [RFC 0/6] vSMMU initialization Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
[not found] ` <1434118810-28219-1-git-send-email-b.reynal-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.org>
2015-06-12 14:20 ` [RFC 1/6] headers sync Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:20 ` [RFC 2/6] hw/core/platform-bus: initialization notifier Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:20 ` [RFC 3/6] hw/core/platform-bus: add base_address field Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:20 ` [RFC 4/6] hw/vfio: vsmmu device Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:20 ` [RFC 5/6] hw/arm/sysbus-fdt: enable vsmmu dynamic instantiation Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:20 ` [RFC 6/6] hw/arm/sysbus-fdt: add smmu masters in device tree Baptiste Reynal
2015-06-12 14:20 ` [Qemu-devel] " Baptiste Reynal
2015-06-12 14:23 ` [RFC 0/6] vSMMU initialization Will Deacon
2015-06-12 14:23 ` [Qemu-devel] " Will Deacon
[not found] ` <20150612142328.GF12174-5wv7dgnIgG8@public.gmane.org>
2015-07-14 2:21 ` Varun Sethi
2015-07-14 2:21 ` [Qemu-devel] " Varun Sethi
[not found] ` <BN1PR0301MB06274ACB3A193799F40BE9F4EA9B0-RQSpjbwlmjSD1ymB6+i1+JwN6zqB+hSMnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2015-07-14 11:04 ` Will Deacon
2015-07-14 11:04 ` [Qemu-devel] " Will Deacon
[not found] ` <20150714110416.GD16213-5wv7dgnIgG8@public.gmane.org>
2015-07-15 13:38 ` Baptiste Reynal
2015-07-15 13:38 ` [Qemu-devel] " Baptiste Reynal
[not found] ` <CAN9JPjF1E0Dg_KAQcc4C+jKDuOHEATVhN+1NPa66jLrP8RieKA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-15 13:42 ` Will Deacon
2015-07-15 13:42 ` [Qemu-devel] " Will Deacon
2015-07-15 16:41 ` Varun Sethi
2015-07-15 16:41 ` [Qemu-devel] " Varun Sethi
2015-07-15 17:28 ` Varun Sethi
2015-07-15 17:28 ` [Qemu-devel] " Varun Sethi
[not found] ` <BN1PR0301MB0627944BCFB295564CA1F7AAEA9A0-RQSpjbwlmjSD1ymB6+i1+JwN6zqB+hSMnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2015-07-15 17:37 ` Will Deacon [this message]
2015-07-15 17:37 ` Will Deacon
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=20150715173757.GF17107@arm.com \
--to=will.deacon-5wv7dgnigg8@public.gmane.org \
--cc=Varun.Sethi-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
--cc=tech-lrHrjnjw1UfHK3s98zE1ajGjJy/sRE9J@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.