qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 23/25] pci: add helper function to initialize wm


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH 23/25] pci: add helper function to initialize wmask.
Date: Sun, 4 Oct 2009 13:05:52 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Sat, Oct 03, 2009 at 05:16:15AM +0900, Isaku Yamahata wrote:
> add helper function to initialize wmask.
> This will be used later.
> 
> Signed-off-by: Isaku Yamahata <address@hidden>
> ---
>  hw/pci.c |   25 +++++++++++++++++++++++++
>  hw/pci.h |    4 ++++
>  2 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/pci.c b/hw/pci.c
> index cc5738a..ec7c429 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -415,6 +415,31 @@ static void pci_config_alloc(PCIDevice *pci_dev)
>      PCI_CONFIG_ALLOC(pci_dev, used, config_size);
>  }
>  
> +static void pci_conf_init(PCIDevice *d, uint32_t addr, uint32_t wmask, int 
> len)
> +{
> +    int i;
> +
> +    for (i = 0; i < len; i++) {
> +        d->wmask[addr + i] = wmask & 0xff;
> +        wmask >>= 8;
> +    }
> +}
> +
> +void pci_conf_initb(PCIDevice *d, uint32_t addr, uint32_t wmask)
> +{
> +    pci_conf_init(d, addr, wmask, 1);
> +}
> +
> +void pci_conf_initw(PCIDevice *d, uint32_t addr, uint32_t wmask)
> +{
> +    pci_conf_init(d, addr, wmask, 2);
> +}
> +
> +void pci_conf_initl(PCIDevice *d, uint32_t addr, uint32_t wmask)
> +{
> +    pci_conf_init(d, addr, wmask, 4);
> +}
> +

These seem to just implement pci endianness.
Just use pci_set_word / pci_set_long.

>  /* -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/hw/pci.h b/hw/pci.h
> index be241b4..56285e2 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -255,6 +255,10 @@ struct PCIDevice {
>      target_phys_addr_t msix_page_size;
>  };
>  
> +void pci_conf_initb(PCIDevice *d, uint32_t addr, uint32_t wmask);
> +void pci_conf_initw(PCIDevice *d, uint32_t addr, uint32_t wmask);
> +void pci_conf_initl(PCIDevice *d, uint32_t addr, uint32_t wmask);
> +
>  PCIDevice *pci_register_device(PCIBus *bus, const char *name,
>                                 int instance_size, int devfn,
>                                 PCIConfigReadFunc *config_read,
> -- 
> 1.6.0.2
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]