[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] pci: fix pci_find_space()
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] pci: fix pci_find_space() |
Date: |
Sun, 11 Apr 2010 12:19:30 +0300 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Fri, Apr 09, 2010 at 07:20:48PM +0900, Isaku Yamahata wrote:
> pci capability must be in PCI space.
> It can't lay in PCIe extended config space.
>
> Cc: "Michael S. Tsirkin" <address@hidden>
> Signed-off-by: Isaku Yamahata <address@hidden>
I guess the point is that we'll need another API to allocate
extended capabilities?
> ---
> hw/pci.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/hw/pci.c b/hw/pci.c
> index 2f6907b..f50568c 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -1701,10 +1701,9 @@ PCIDevice *pci_create_simple(PCIBus *bus, int devfn,
> const char *name)
>
> static int pci_find_space(PCIDevice *pdev, uint8_t size)
> {
> - int config_size = pci_config_size(pdev);
> int offset = PCI_CONFIG_HEADER_SIZE;
> int i;
> - for (i = PCI_CONFIG_HEADER_SIZE; i < config_size; ++i)
> + for (i = PCI_CONFIG_HEADER_SIZE; i < PCI_CONFIG_SPACE_SIZE - size; ++i)
> if (pdev->used[i])
> offset = i + 1;
> else if (i - offset + 1 == size)
> --
> 1.6.6.1