From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50129) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QnaHC-0004mM-62 for qemu-devel@nongnu.org; Sun, 31 Jul 2011 13:58:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QnaHA-0007cR-D2 for qemu-devel@nongnu.org; Sun, 31 Jul 2011 13:58:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9879) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QnaHA-0007by-32 for qemu-devel@nongnu.org; Sun, 31 Jul 2011 13:58:08 -0400 From: Avi Kivity Date: Sun, 31 Jul 2011 20:57:25 +0300 Message-Id: <1312135082-31985-3-git-send-email-avi@redhat.com> In-Reply-To: <1312135082-31985-1-git-send-email-avi@redhat.com> References: <1312135082-31985-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH 02/39] vmsvga: don't remember pci BAR address in callback any more List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org Cc: kvm@vger.kernel.org, "Michael S. Tsirkin" We're going to remove the callback, so we can't use it to save the address. Use the pci API instead. Signed-off-by: Avi Kivity --- hw/vmware_vga.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c index 354c221..190b005 100644 --- a/hw/vmware_vga.c +++ b/hw/vmware_vga.c @@ -52,8 +52,6 @@ struct vmsvga_state_s { int on; } cursor; - target_phys_addr_t vram_base; - int index; int scratch_size; uint32_t *scratch; @@ -761,8 +759,11 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address) case SVGA_REG_BYTES_PER_LINE: return ((s->depth + 7) >> 3) * s->new_width; - case SVGA_REG_FB_START: - return s->vram_base; + case SVGA_REG_FB_START: { + struct pci_vmsvga_state_s *pci_vmsvga + = container_of(s, struct pci_vmsvga_state_s, chip); + return pci_get_bar_addr(&pci_vmsvga->card, 1); + } case SVGA_REG_FB_OFFSET: return 0x0; @@ -1247,14 +1248,13 @@ static void pci_vmsvga_map_mem(PCIDevice *pci_dev, int region_num, struct vmsvga_state_s *s = &d->chip; ram_addr_t iomemtype; - s->vram_base = addr; #ifdef DIRECT_VRAM iomemtype = cpu_register_io_memory(vmsvga_vram_read, vmsvga_vram_write, s, DEVICE_NATIVE_ENDIAN); #else iomemtype = s->vga.vram_offset | IO_MEM_RAM; #endif - cpu_register_physical_memory(s->vram_base, s->vga.vram_size, + cpu_register_physical_memory(addr, s->vga.vram_size, iomemtype); s->vga.map_addr = addr; -- 1.7.5.3