From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MuOwd-0006yQ-9J for qemu-devel@nongnu.org; Sun, 04 Oct 2009 07:08:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MuOwY-0006xK-FM for qemu-devel@nongnu.org; Sun, 04 Oct 2009 07:08:02 -0400 Received: from [199.232.76.173] (port=44939 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MuOwU-0006wz-30 for qemu-devel@nongnu.org; Sun, 04 Oct 2009 07:07:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25255) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MuOwT-0003lc-Cp for qemu-devel@nongnu.org; Sun, 04 Oct 2009 07:07:53 -0400 Date: Sun, 4 Oct 2009 13:05:52 +0200 From: "Michael S. Tsirkin" Message-ID: <20091004110551.GQ16887@redhat.com> References: <1254514577-11896-1-git-send-email-yamahata@valinux.co.jp> <1254514577-11896-24-git-send-email-yamahata@valinux.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1254514577-11896-24-git-send-email-yamahata@valinux.co.jp> Subject: [Qemu-devel] Re: [PATCH 23/25] pci: add helper function to initialize wmask. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Isaku Yamahata Cc: qemu-devel@nongnu.org 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 > --- > 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 > >