Patchwork [10/11] piix_pci: use range helper function

login
register
mail settings
Submitter Isaku Yamahata
Date Dec. 14, 2009, 12:48 p.m.
Message ID <1260794906-30168-11-git-send-email-yamahata@valinux.co.jp>
Download mbox | patch
Permalink /patch/41097/
State New
Headers show

Comments

Isaku Yamahata - Dec. 14, 2009, 12:48 p.m.
use range helper function in i440fx_write_config().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
---
 hw/piix_pci.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
Michael S. Tsirkin - Dec. 14, 2009, 1:50 p.m.
On Mon, Dec 14, 2009 at 09:48:25PM +0900, Isaku Yamahata wrote:
> use range helper function in i440fx_write_config().
> 
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
> ---
>  hw/piix_pci.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/piix_pci.c b/hw/piix_pci.c
> index 7bbaf50..304f84a 100644
> --- a/hw/piix_pci.c
> +++ b/hw/piix_pci.c
> @@ -136,9 +136,11 @@ static void i440fx_write_config(PCIDevice *dev,
>  
>      /* XXX: implement SMRAM.D_LOCK */
>      pci_default_write_config(dev, address, val, len);
> -    if ((address >= I440FX_PAM0 && address <= I440FX_PAM6) ||
> -        address == I440FX_SMRAM)
> +    if (ranges_overlap(address, len,
> +                       I440FX_PAM0, I440FX_PAM6 - I440FX_PAM0 + 1) ||

So here
#define I440FX_PAM_SIZE 7
will be helpful.

> +        range_covers_byte(address, len, I440FX_SMRAM)) {
>          i440fx_update_memory_mappings(d);
> +    }
>  }
>  
>  static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)
> -- 
> 1.6.5.4

Patch

diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index 7bbaf50..304f84a 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -136,9 +136,11 @@  static void i440fx_write_config(PCIDevice *dev,
 
     /* XXX: implement SMRAM.D_LOCK */
     pci_default_write_config(dev, address, val, len);
-    if ((address >= I440FX_PAM0 && address <= I440FX_PAM6) ||
-        address == I440FX_SMRAM)
+    if (ranges_overlap(address, len,
+                       I440FX_PAM0, I440FX_PAM6 - I440FX_PAM0 + 1) ||
+        range_covers_byte(address, len, I440FX_SMRAM)) {
         i440fx_update_memory_mappings(d);
+    }
 }
 
 static int i440fx_load_old(QEMUFile* f, void *opaque, int version_id)