All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Tiejun Chen <tiejun.chen@intel.com>
Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com,
	mst@redhat.com, allen.m.kay@intel.com,
	stefano.stabellini@eu.citrix.com, weidong.han@intel.com,
	Kelly.Zytaruk@amd.com, jean.guyader@eu.citrix.com,
	qemu-devel@nongnu.org, yang.z.zhang@intel.com,
	anthony@codemonkey.ws, anthony.perard@citrix.com
Subject: Re: [Qemu-devel] [Xen-devel] [v2][PATCH 2/8] pci: provide a way to reserve some specific devfn
Date: Fri, 16 May 2014 10:07:02 -0400	[thread overview]
Message-ID: <20140516140701.GB3154@phenom.dumpdata.com> (raw)
In-Reply-To: <1400237624-8505-3-git-send-email-tiejun.chen@intel.com>

On Fri, May 16, 2014 at 06:53:38PM +0800, Tiejun Chen wrote:
> Sometime we may need to reserve some specific devfn since
> some vgabios or drivers have to work well with a fixed bdf.
> 
> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
> ---
> v2:
> 
> * New patch
> 
>  hw/pci/pci.c         | 11 +++++++++++
>  include/hw/pci/pci.h |  1 +
>  2 files changed, 12 insertions(+)
> 
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index ef944cf..06b0c92 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -813,6 +813,17 @@ static void do_pci_unregister_device(PCIDevice *pci_dev)
>      memory_region_destroy(&pci_dev->bus_master_enable_region);
>  }
>  
> +
> +void pci_reserve_pci_devfn(PCIBus *bus, uint8_t devfn)
> +{
> +    int ret = test_and_set_bit(devfn, bus->pci_bdf_bitmap);

unsigned int please.
> +    if (ret) {
> +        error_report("PCI: %02x:%02x:%02x is not available to reserve.",
> +                    pci_bus_num(bus), PCI_SLOT(devfn), PCI_FUNC(devfn));
> +        return;
> +    }
> +}

Don't we want to return whether we are failed or not?

> +
>  /* -1 for devfn means auto assign */
>  static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus,
>                                           const char *name, int devfn)
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index 8c25ae5..cbb174e 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -342,6 +342,7 @@ void pci_bus_new_inplace(PCIBus *bus, size_t bus_size, DeviceState *parent,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
>                           uint8_t devfn_min, const char *typename);
> +void pci_reserve_pci_devfn(PCIBus *bus, uint8_t devfn);
>  PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>                      MemoryRegion *address_space_mem,
>                      MemoryRegion *address_space_io,
> -- 
> 1.9.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Tiejun Chen <tiejun.chen@intel.com>
Cc: peter.maydell@linaro.org, xen-devel@lists.xensource.com,
	mst@redhat.com, allen.m.kay@intel.com,
	stefano.stabellini@eu.citrix.com, weidong.han@intel.com,
	Kelly.Zytaruk@amd.com, jean.guyader@eu.citrix.com,
	qemu-devel@nongnu.org, yang.z.zhang@intel.com,
	anthony@codemonkey.ws, anthony.perard@citrix.com
Subject: Re: [Xen-devel] [v2][PATCH 2/8] pci: provide a way to reserve some specific devfn
Date: Fri, 16 May 2014 10:07:02 -0400	[thread overview]
Message-ID: <20140516140701.GB3154@phenom.dumpdata.com> (raw)
In-Reply-To: <1400237624-8505-3-git-send-email-tiejun.chen@intel.com>

On Fri, May 16, 2014 at 06:53:38PM +0800, Tiejun Chen wrote:
> Sometime we may need to reserve some specific devfn since
> some vgabios or drivers have to work well with a fixed bdf.
> 
> Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
> ---
> v2:
> 
> * New patch
> 
>  hw/pci/pci.c         | 11 +++++++++++
>  include/hw/pci/pci.h |  1 +
>  2 files changed, 12 insertions(+)
> 
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index ef944cf..06b0c92 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -813,6 +813,17 @@ static void do_pci_unregister_device(PCIDevice *pci_dev)
>      memory_region_destroy(&pci_dev->bus_master_enable_region);
>  }
>  
> +
> +void pci_reserve_pci_devfn(PCIBus *bus, uint8_t devfn)
> +{
> +    int ret = test_and_set_bit(devfn, bus->pci_bdf_bitmap);

unsigned int please.
> +    if (ret) {
> +        error_report("PCI: %02x:%02x:%02x is not available to reserve.",
> +                    pci_bus_num(bus), PCI_SLOT(devfn), PCI_FUNC(devfn));
> +        return;
> +    }
> +}

Don't we want to return whether we are failed or not?

> +
>  /* -1 for devfn means auto assign */
>  static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus,
>                                           const char *name, int devfn)
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index 8c25ae5..cbb174e 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -342,6 +342,7 @@ void pci_bus_new_inplace(PCIBus *bus, size_t bus_size, DeviceState *parent,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
>                           uint8_t devfn_min, const char *typename);
> +void pci_reserve_pci_devfn(PCIBus *bus, uint8_t devfn);
>  PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>                      MemoryRegion *address_space_mem,
>                      MemoryRegion *address_space_io,
> -- 
> 1.9.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  reply	other threads:[~2014-05-16 14:07 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-16 10:53 [Qemu-devel] [v2][PATCH 0/8] xen: add Intel IGD passthrough support Tiejun Chen
2014-05-16 10:53 ` Tiejun Chen
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 1/8] pci: use bitmap to manage registe/runregister pci device Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 2/8] pci: provide a way to reserve some specific devfn Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:07   ` Konrad Rzeszutek Wilk [this message]
2014-05-16 14:07     ` [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-19  9:43     ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:43       ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 3/8] xen, gfx passthrough: basic graphics passthrough support Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:06   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-16 14:06     ` Konrad Rzeszutek Wilk
2014-05-19  9:42     ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:42       ` Chen, Tiejun
2014-05-19 13:35       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-05-19 13:35         ` Konrad Rzeszutek Wilk
2014-05-20  9:32         ` [Qemu-devel] " Chen, Tiejun
2014-05-20  9:32           ` Chen, Tiejun
2014-05-19 12:10     ` [Qemu-devel] " Stefano Stabellini
2014-05-19 12:10       ` Stefano Stabellini
2014-05-20  5:09       ` [Qemu-devel] " Chen, Tiejun
2014-05-20  5:09         ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: reserve 00:02.0 for INTEL IGD Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:08   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-16 14:08     ` Konrad Rzeszutek Wilk
2014-05-19  9:54     ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:54       ` Chen, Tiejun
2014-05-19  6:44   ` [Qemu-devel] " Gerd Hoffmann
2014-05-19  6:44     ` Gerd Hoffmann
2014-05-19  7:48     ` [Qemu-devel] [Xen-devel] " Fabio Fantoni
2014-05-19  7:48       ` Fabio Fantoni
2014-05-19  8:15       ` [Qemu-devel] " Zhang, Yang Z
2014-05-19  8:15         ` Zhang, Yang Z
2014-05-19  9:34       ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:34         ` Chen, Tiejun
2014-05-19  9:25     ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:25       ` Chen, Tiejun
2014-05-19 10:13       ` [Qemu-devel] " Michael S. Tsirkin
2014-05-19 10:13         ` Michael S. Tsirkin
2014-05-20  9:34         ` [Qemu-devel] " Chen, Tiejun
2014-05-20  9:34           ` Chen, Tiejun
2014-05-20 11:36           ` [Qemu-devel] " Michael S. Tsirkin
2014-05-20 11:36             ` Michael S. Tsirkin
2014-05-19 11:22       ` [Qemu-devel] " Gerd Hoffmann
2014-05-19 11:22         ` Gerd Hoffmann
2014-05-19 12:04         ` [Qemu-devel] " Chen, Tiejun
2014-05-19 12:04           ` Chen, Tiejun
2014-05-19 13:50           ` [Qemu-devel] " Gerd Hoffmann
2014-05-19 13:50             ` Gerd Hoffmann
2014-05-19 14:00             ` [Qemu-devel] " Daniel P. Berrange
2014-05-19 14:00               ` Daniel P. Berrange
2014-05-21  7:07             ` [Qemu-devel] " Chen, Tiejun
2014-05-21  7:07               ` Chen, Tiejun
2014-05-22  0:31               ` [Qemu-devel] " Chen, Tiejun
2014-05-22  0:31                 ` Chen, Tiejun
2014-05-22  5:39                 ` [Qemu-devel] " Gerd Hoffmann
2014-05-22  5:39                   ` Gerd Hoffmann
2014-05-22  6:18                   ` [Qemu-devel] " Chen, Tiejun
2014-05-22  6:18                     ` Chen, Tiejun
2014-05-22  6:44                     ` [Qemu-devel] " Gerd Hoffmann
2014-05-22  6:44                       ` Gerd Hoffmann
2014-05-22  6:49                       ` [Qemu-devel] " Michael S. Tsirkin
2014-05-22  6:49                         ` Michael S. Tsirkin
2014-05-22  7:11                       ` [Qemu-devel] " Chen, Tiejun
2014-05-22  7:11                         ` Chen, Tiejun
2014-05-22 10:50                       ` [Qemu-devel] " Chen, Tiejun
2014-05-22 10:50                         ` Chen, Tiejun
2014-05-22 11:03                         ` [Qemu-devel] " Gonglei (Arei)
2014-05-22 11:03                           ` Gonglei (Arei)
2014-05-22 11:22                         ` [Qemu-devel] " Gerd Hoffmann
2014-05-22 11:22                           ` Gerd Hoffmann
2014-05-23  1:07                           ` Chen, Tiejun
2014-05-23  1:07                             ` Chen, Tiejun
2014-05-22 11:25                         ` [Qemu-devel] " Michael S. Tsirkin
2014-05-22 11:25                           ` Michael S. Tsirkin
2014-05-22 14:20                           ` [Qemu-devel] [Xen-devel] " Igor Mammedov
2014-05-22 14:20                             ` Igor Mammedov
2014-05-23  1:18                             ` [Qemu-devel] " Chen, Tiejun
2014-05-23  1:18                               ` Chen, Tiejun
2014-05-23  7:38                               ` [Qemu-devel] " Igor Mammedov
2014-05-23  7:38                                 ` Igor Mammedov
2014-05-23 10:52                                 ` [Qemu-devel] " Anthony PERARD
2014-05-23 10:52                                   ` Anthony PERARD
2014-05-23 11:40                                   ` [Qemu-devel] " Stefano Stabellini
2014-05-23 11:40                                     ` Stefano Stabellini
2014-05-23 11:53                                     ` [Qemu-devel] " Gerd Hoffmann
2014-05-23 11:53                                       ` Gerd Hoffmann
2014-05-23 12:06                                   ` [Qemu-devel] " Igor Mammedov
2014-05-23 12:06                                     ` Igor Mammedov
2014-05-23 12:16                                   ` [Qemu-devel] " Igor Mammedov
2014-05-23 12:16                                     ` Igor Mammedov
2014-05-22  9:58                   ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-05-22  9:58                     ` Konrad Rzeszutek Wilk
2014-05-20 14:45           ` [Qemu-devel] " Anthony PERARD
2014-05-20 14:45             ` Anthony PERARD
2014-05-21  1:25             ` [Qemu-devel] " Chen, Tiejun
2014-05-21  1:25               ` Chen, Tiejun
2014-06-25  2:49         ` [Qemu-devel] " Chen, Tiejun
2014-06-25  2:49           ` Chen, Tiejun
2014-06-25 23:04           ` [Qemu-devel] " Slutz, Donald Christopher
2014-06-25 23:04             ` Slutz, Donald Christopher
2014-06-26  2:00             ` [Qemu-devel] " Chen, Tiejun
2014-06-26  2:00               ` Chen, Tiejun
2014-06-26  8:23               ` [Qemu-devel] " Chen, Tiejun
2014-06-26  8:23                 ` Chen, Tiejun
2014-06-26 16:58                 ` [Qemu-devel] " Don Slutz
2014-06-26 16:58                   ` Don Slutz
2014-06-30  9:29                   ` [Qemu-devel] " Gerd Hoffmann
2014-06-30  9:29                     ` Gerd Hoffmann
2014-06-30 10:23                     ` [Qemu-devel] " Chen, Tiejun
2014-06-30 10:23                       ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 5/8] xen, gfx passthrough: create intel isa bridge Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:11   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-16 14:11     ` Konrad Rzeszutek Wilk
2014-05-19  9:59     ` [Qemu-devel] " Chen, Tiejun
2014-05-19  9:59       ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 6/8] xen, gfx passthrough: support Intel IGD passthrough with VT-D Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:35   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-16 14:35     ` Konrad Rzeszutek Wilk
2014-05-19  0:58     ` [Qemu-devel] " Zhang, Yang Z
2014-05-19  0:58       ` Zhang, Yang Z
2014-05-19 13:34       ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-05-19 13:34         ` Konrad Rzeszutek Wilk
2014-05-20  5:13         ` [Qemu-devel] " Chen, Tiejun
2014-05-20  5:13           ` Chen, Tiejun
2014-05-20 13:39           ` [Qemu-devel] " Konrad Rzeszutek Wilk
2014-05-20 13:39             ` Konrad Rzeszutek Wilk
2014-05-19 10:02     ` [Qemu-devel] [Xen-devel] " Chen, Tiejun
2014-05-19 10:02       ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 7/8] xen, gfx passthrough: create host bridge to passthrough Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-16 14:37   ` [Qemu-devel] [Xen-devel] " Konrad Rzeszutek Wilk
2014-05-16 14:37     ` Konrad Rzeszutek Wilk
2014-05-19 10:03     ` [Qemu-devel] " Chen, Tiejun
2014-05-19 10:03       ` Chen, Tiejun
2014-05-16 10:53 ` [Qemu-devel] [v2][PATCH 8/8] xen, gfx passthrough: add opregion mapping Tiejun Chen
2014-05-16 10:53   ` Tiejun Chen
2014-05-19 11:53   ` [Qemu-devel] " Stefano Stabellini
2014-05-19 11:53     ` Stefano Stabellini
2014-05-20  9:24     ` [Qemu-devel] " Chen, Tiejun
2014-05-20  9:24       ` Chen, Tiejun
2014-05-20 10:50       ` [Qemu-devel] " Stefano Stabellini
2014-05-20 10:50         ` Stefano Stabellini
2014-05-21  0:57         ` [Qemu-devel] " Chen, Tiejun
2014-05-21  0:57           ` Chen, Tiejun

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=20140516140701.GB3154@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Kelly.Zytaruk@amd.com \
    --cc=allen.m.kay@intel.com \
    --cc=anthony.perard@citrix.com \
    --cc=anthony@codemonkey.ws \
    --cc=jean.guyader@eu.citrix.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tiejun.chen@intel.com \
    --cc=weidong.han@intel.com \
    --cc=xen-devel@lists.xensource.com \
    --cc=yang.z.zhang@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.