qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 02/11] pci: clean up pci_bar_address()
Date: Mon, 14 Dec 2009 15:36:10 +0200	[thread overview]
Message-ID: <20091214133610.GD973@redhat.com> (raw)
In-Reply-To: <1260794906-30168-3-git-send-email-yamahata@valinux.co.jp>

On Mon, Dec 14, 2009 at 09:48:17PM +0900, Isaku Yamahata wrote:
> make pci_bar_address independent of PCI_BAR_UNMAPPED value.
> PCI_BAR_UNMAPPED could be arbitrary value which doesn't match
> possible pci bar. So == PCI_BAR_UNMAPPED check is not good.
> This patch cleans it up.
> 
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

I would rather we removed this hack altogether.
I guess proper fix requires Avi's patch to do BAR mapping
from pci.c, and I think we should do just this.

There are no special values in bar
assignment, and guests are free to perform sizing any way they want.
Especially for 64 bit BARs, sizing for high bits is
done separately from low bits.

Also - I think this in fact changes logic.
On 64 bit qemu, we used to compare to 0xffffffff
and now we compare to 0xffffffffffffffff.

> ---
>  hw/pci.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/pci.c b/hw/pci.c
> index aed3a24..344d72b 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -857,8 +857,7 @@ static pcibus_t pci_bar_address(PCIDevice *d,
>      /* XXX: as we cannot support really dynamic
>         mappings, we handle specific values as invalid
>         mappings. */
> -    if (last_addr <= new_addr || new_addr == 0 ||
> -        last_addr == PCI_BAR_UNMAPPED) {
> +    if (last_addr <= new_addr || new_addr == 0 || last_addr == ~(pcibus_t)0) {
>          return PCI_BAR_UNMAPPED;
>      }
>  
> -- 
> 1.6.5.4

  reply	other threads:[~2009-12-14 13:39 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-14 12:48 [Qemu-devel] [PATCH 00/11] various pci clean ups Isaku Yamahata
2009-12-14 12:48 ` [Qemu-devel] [PATCH 01/11] pci: remove PCIBus::config_reg Isaku Yamahata
2009-12-14 13:51   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 02/11] pci: clean up pci_bar_address() Isaku Yamahata
2009-12-14 13:36   ` Michael S. Tsirkin [this message]
2009-12-14 12:48 ` [Qemu-devel] [PATCH 03/11] pci: s/PCI_SUBVENDOR_ID/PCI_SUBSYSTEM_VENDOR_ID/g Isaku Yamahata
2009-12-14 13:36   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 04/11] pci: remove PCI_REVISION and PCI_SUBDEVICE_ID Isaku Yamahata
2009-12-14 13:53   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 05/11] pci: import Linux pci_regs.h Isaku Yamahata
2009-12-14 12:48 ` [Qemu-devel] [PATCH 06/11] pci: use pci_regs.h Isaku Yamahata
2009-12-14 13:37   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 07/11] gt64xxx: remove gt64120_{read, write}_config() Isaku Yamahata
2009-12-14 13:51   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 08/11] acpi: use range helper function Isaku Yamahata
2009-12-14 13:37   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 09/11] piix_pci: define symbolic value for PAM0, PAM6 and SMRAM Isaku Yamahata
2009-12-14 13:49   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 10/11] piix_pci: use range helper function Isaku Yamahata
2009-12-14 13:50   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 12:48 ` [Qemu-devel] [PATCH 11/11] msix: " Isaku Yamahata
2009-12-14 13:25   ` [Qemu-devel] " Michael S. Tsirkin
2009-12-14 13:54 ` [Qemu-devel] Re: [PATCH 00/11] various pci clean ups Michael S. Tsirkin

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=20091214133610.GD973@redhat.com \
    --to=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yamahata@valinux.co.jp \
    /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).