All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Zhang, Xiantao" <xiantao.zhang@intel.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Xen-devel <xen-devel@lists.xensource.com>,
	"Jiang, Yunhong" <yunhong.jiang@intel.com>,
	"Han, Weidong" <weidong.han@intel.com>,
	"Keir@acsinet11.oracle.com" <Keir@acsinet11.oracle.com>,
	Fraser <keir.fraser@eu.citrix.com>
Subject: Re: Re: APIC rework
Date: Thu, 3 Dec 2009 09:38:14 -0500	[thread overview]
Message-ID: <20091203143814.GA14973@phenom.dumpdata.com> (raw)
In-Reply-To: <706158FABBBA044BAD4FE898A02E4BC201CF56AAA9@pdsmsx503.ccr.corp.intel.com>

> I am also confusing about how to assign a device to a PV guest. Originally  I thought the logic should be it should be hidden first through pciback in dom0, and pv guest uses its pci subsystem (pcifront end) to require pciback to mapping this device.  In the first step, once pciback.hide logic is called in dom0,  this device should be released by dom0 and avaliable for PV guests at this time. And the in subsequent step, pciback or dom0's pci system should help PV guests to do the irq mapping, otherwise I can't see how the irqs from the assigned device are delivered to PV guests.   

That is correct. Here is an URL of the correct steps:
http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module

>From the unprivileged side (domU), when it makes a call to
pci_enable_device, it gets routed to pcifront_bus_write.
On the privileged side (dom0), pciback picks up the write
and routes it to 'command_write' (conf_space_header.c). It
does the pci_enable_device in the dom0 side. The pci_enable_device
ends up calling xen_allocate_pirq which gets the IRQ from
PHYSDEVOP_alloc_irq_vector. That IRQ is saved in dev->irq and
is visible to the DomU.

Also during the pci_enable_device (in the DomU side), pcibios_enable_device
gets called - which in domU is called 'xen_pcifront_enable_irq'.
The xen_pcifront_enable_irq allocates an irq_desc with xen_pirq_chip
structure. The GSI it requests is actually the IRQ number from dev->irq.

To summarize, dom0 on behalf of domU, calls PHYSDEVOP_alloc_irq_vector
for the device in question. Saves the GSI in dev->irq which is visible to
the DomU. DomU sets up a xen_pirq_chip structure for the device and
starts/stop/etc through that function structure. Please note that 
there is nothing in PHYSDEVOP_alloc..  about which domain owns the device.
That is only done with PHYSDEVOP_map_pirq calls.

With your patch instead of PHYSDEVOP_alloc_irq_vector, it would be
PHYSDEVOP_map_pirq.

  reply	other threads:[~2009-12-03 14:38 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-19  1:19 Announcing xen/master: pvops git trees rearranged Jeremy Fitzhardinge
2009-09-19 10:36 ` Marc - A. Dahlhaus
2009-09-20 19:29   ` Marc - A. Dahlhaus
2009-09-21  6:22     ` Pasi Kärkkäinen
2009-09-21  8:49       ` Marc - A. Dahlhaus [ Administration | Westermann GmbH ]
2009-09-21  9:03         ` Pasi Kärkkäinen
2009-09-21  9:18           ` Marc - A. Dahlhaus [ Administration | Westermann GmbH ]
2009-09-21 14:39             ` Konrad Rzeszutek Wilk
2009-09-21 16:19               ` [Cluster-devel] Re: [Xen-devel] " Marc
2009-09-21 15:20             ` Pasi Kärkkäinen
2009-09-19 14:46 ` pvops: AHCI problems with SB600 Patrick Scharrenberg
2009-09-21  5:57   ` Patrick Scharrenberg
2009-09-21 15:06   ` Konrad Rzeszutek Wilk
2009-09-22  9:00     ` Patrick Scharrenberg
2009-09-22 14:08       ` Konrad Rzeszutek Wilk
2009-09-23  7:37         ` Patrick Scharrenberg
2009-09-23 12:09           ` Konrad Rzeszutek Wilk
2009-09-23 12:06         ` Konrad Rzeszutek Wilk
2009-09-23 19:22           ` Jeremy Fitzhardinge
2009-09-23 19:32             ` Konrad Rzeszutek Wilk
2009-09-23 20:09               ` Jeremy Fitzhardinge
2009-09-23 20:30                 ` Jeremy Fitzhardinge
2009-09-23 21:24                   ` Konrad Rzeszutek Wilk
2009-09-23 21:56                     ` Jeremy Fitzhardinge
2009-09-24 12:44                       ` Konrad Rzeszutek Wilk
2009-09-24 18:23                         ` Jeremy Fitzhardinge
2009-09-24 21:36                           ` Konrad Rzeszutek Wilk
2009-09-24 19:12                     ` Patrick Scharrenberg
2009-09-21 14:43 ` Announcing xen/master: pvops git trees rearranged (AMD tests?) Konrad Rzeszutek Wilk
2009-09-21 19:25 ` Announcing xen/master: pvops git trees rearranged Pasi Kärkkäinen
2009-09-21 19:30   ` Jeremy Fitzhardinge
2009-09-21 19:50     ` Pasi Kärkkäinen
2009-09-21 20:21       ` Jeremy Fitzhardinge
2009-09-21 20:26         ` Pasi Kärkkäinen
2009-09-21 20:29           ` Jeremy Fitzhardinge
2009-09-21 20:36             ` Pasi Kärkkäinen
2009-09-23 13:16 ` Christian Tramnitz
2009-09-23 20:13   ` Jeremy Fitzhardinge
2009-09-24  3:17     ` Qing He
2009-09-24 19:38       ` Jeremy Fitzhardinge
2009-09-24  8:15     ` Zhang, Xiantao
2009-09-25  1:44       ` Zhang, Xiantao
     [not found]         ` <706158FABBBA044BAD4FE898A02E4BC201C9AC7ED0@pdsmsx503.ccr.corp.intel.com>
     [not found]           ` <4AC54350.7040909@goop.org>
     [not found]             ` <706158FABBBA044BAD4FE898A02E4BC201C9AC8A88@pdsmsx503.ccr.corp.intel.com>
     [not found]               ` <4AD75A0B.9020508@goop.org>
     [not found]                 ` <706158FABBBA044BAD4FE898A02E4BC201C9BD87FA@pdsmsx503.ccr.corp.intel.com>
2009-11-12  0:47                   ` APIC rework Jeremy Fitzhardinge
2009-11-12  1:00                     ` Jeremy Fitzhardinge
2009-11-12 23:51                       ` Jeremy Fitzhardinge
2009-11-13  5:27                         ` Zhang, Xiantao
2009-11-13  7:24                         ` Keir Fraser
2009-11-13 23:57                           ` Jeremy Fitzhardinge
2009-11-14  8:04                             ` Keir Fraser
2009-11-16 10:38                               ` Zhang, Xiantao
2009-11-16 18:37                                 ` Jeremy Fitzhardinge
2009-11-17  3:13                                   ` Zhang, Xiantao
2009-11-17  3:45                                     ` Keir Fraser
2009-11-17  5:20                                       ` Jeremy Fitzhardinge
2009-11-17  5:44                                         ` Keir Fraser
2009-11-17 12:46                                         ` Zhang, Xiantao
2009-11-17 13:05                                           ` Keir Fraser
2009-11-17 14:17                                             ` Zhang, Xiantao
2009-11-17 18:51                                               ` Jeremy Fitzhardinge
2009-11-18  3:37                                                 ` Zhang, Xiantao
2009-11-18 14:29                                                   ` Konrad Rzeszutek Wilk
2009-11-20  1:47                                                     ` Zhang, Xiantao
2009-11-17 19:49                                               ` Keir Fraser
2009-11-18  3:12                                                 ` Jiang, Yunhong
2009-11-18  3:25                                                 ` Zhang, Xiantao
2009-11-18  9:37                                                   ` Keir Fraser
2009-11-24 10:04                                                     ` Zhang, Xiantao
2009-11-24 19:25                                                       ` Jeremy Fitzhardinge
2009-11-25  1:42                                                         ` Zhang, Xiantao
2009-11-24 19:44                                                       ` Konrad Rzeszutek Wilk
2009-11-24 23:35                                                         ` Jeremy Fitzhardinge
2009-11-25 14:10                                                           ` Konrad Rzeszutek Wilk
2009-11-25 19:14                                                             ` Jeremy Fitzhardinge
2009-11-30 14:26                                                               ` Konrad Rzeszutek Wilk
2009-11-25  2:43                                                         ` Zhang, Xiantao
2009-11-25 13:41                                                           ` Konrad Rzeszutek Wilk
2009-11-25 15:21                                                             ` Zhang, Xiantao
2009-11-25 18:00                                                               ` Konrad Rzeszutek Wilk
2009-11-26 11:53                                                                 ` Zhang, Xiantao
2009-11-30 14:34                                                                   ` Konrad Rzeszutek Wilk
2009-12-03  2:13                                                                     ` Zhang, Xiantao
2009-12-03 14:38                                                                       ` Konrad Rzeszutek Wilk [this message]
2009-11-25 18:59                                                               ` Jeremy Fitzhardinge
2009-11-26  1:11                                                                 ` Zhang, Xiantao
2009-11-18 14:15                                           ` Konrad Rzeszutek Wilk
2009-11-20  1:45                                             ` Zhang, Xiantao
2009-11-17  5:12                                     ` Jeremy Fitzhardinge
2009-09-24 13:20     ` Announcing xen/master: pvops git trees rearranged Christian Tramnitz
2009-09-24 17:47       ` Andy Burns
2009-09-24 18:29         ` Thiago Camargo Martins Cordeiro
2009-09-24 19:32           ` Thiago Camargo Martins Cordeiro
2009-09-24 20:00         ` Jeremy Fitzhardinge
2009-09-24 19:56       ` Jeremy Fitzhardinge
2009-10-11 15:39 ` Pasi Kärkkäinen
2009-10-12 20:02   ` Konrad Rzeszutek Wilk
2009-10-14 21:14     ` Pasi Kärkkäinen
2009-10-15 20:04       ` Konrad Rzeszutek Wilk
2009-10-16  9:01         ` Pasi Kärkkäinen
2009-10-20 16:58           ` [drm:r100_ring_test] *ERROR* radeon: ring test failed Konrad Rzeszutek Wilk
2009-10-21 11:54             ` Pasi Kärkkäinen
2009-10-21 18:31               ` Konrad Rzeszutek Wilk
2009-10-21 18:52                 ` Pasi Kärkkäinen
2009-10-21 19:50                   ` Jeremy Fitzhardinge
2009-10-21 20:22                     ` Pasi Kärkkäinen
2009-10-27 15:46                 ` Pasi Kärkkäinen
2009-10-27 17:00                   ` Konrad Rzeszutek Wilk
2009-10-27 17:30                     ` Pasi Kärkkäinen
2009-10-27 19:45                     ` Pasi Kärkkäinen
2009-10-27 19:41                       ` Konrad Rzeszutek Wilk
2009-10-27 20:18                         ` Pasi Kärkkäinen
2009-10-27 20:13                           ` Konrad Rzeszutek Wilk
2009-10-27 20:36                             ` Pasi Kärkkäinen
2010-01-01 17:21                             ` Pasi Kärkkäinen
2010-01-04 13:37                               ` Konrad Rzeszutek Wilk
2010-01-04 19:42                                 ` Pasi Kärkkäinen
2010-01-14 20:05                                   ` Konrad Rzeszutek Wilk
2010-01-15  7:18                                     ` Pasi Kärkkäinen
2009-10-27 20:23                           ` Pasi Kärkkäinen
2009-12-04 16:07 ` Announcing xen/master: pvops git trees rearranged Stefan Kuhne
2009-12-04 18:58   ` Pasi Kärkkäinen
2009-12-04 19:27   ` Jeremy Fitzhardinge

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=20091203143814.GA14973@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Keir@acsinet11.oracle.com \
    --cc=jeremy@goop.org \
    --cc=keir.fraser@eu.citrix.com \
    --cc=weidong.han@intel.com \
    --cc=xen-devel@lists.xensource.com \
    --cc=xiantao.zhang@intel.com \
    --cc=yunhong.jiang@intel.com \
    /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.