[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v5 85/86] vga: drop get_system_memory() from vga devic
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [RFC v5 85/86] vga: drop get_system_memory() from vga devices and derivatives |
Date: |
Wed, 20 Jul 2011 19:50:35 +0300 |
Instead, use the bus accessors, or get the address space directly
from the board constructor.
Signed-off-by: Avi Kivity <address@hidden>
---
hw/cirrus_vga.c | 13 ++++++-------
hw/mips_jazz.c | 4 +++-
hw/pc.c | 4 +++-
hw/pc.h | 5 +++--
hw/qxl.c | 2 +-
hw/vga-isa-mm.c | 16 ++++++++--------
hw/vga-isa.c | 6 ++----
hw/vga-pci.c | 4 ++--
hw/vga.c | 10 ++++------
hw/vga_int.h | 4 ++--
hw/vmware_vga.c | 9 +++++----
11 files changed, 39 insertions(+), 38 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 0b0fdad..e367052 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -2365,8 +2365,6 @@ static const MemoryRegionOps cirrus_linear_bitblt_io_ops
= {
},
};
-#include "exec-memory.h"
-
static void unmap_bank(CirrusVGAState *s, unsigned bank)
{
if (s->cirrus_bank[bank]) {
@@ -2804,7 +2802,8 @@ static const MemoryRegionOps cirrus_linear_io_ops = {
},
};
-static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci)
+static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
+ MemoryRegion *system_memory)
{
int i;
static int inited;
@@ -2857,7 +2856,7 @@ static void cirrus_init_common(CirrusVGAState * s, int
device_id, int is_pci)
memory_region_init_io(&s->low_mem, &cirrus_vga_mem_ops, s,
"cirrus-low-memory", 0x20000);
memory_region_add_subregion(&s->low_mem_container, 0, &s->low_mem);
- memory_region_add_subregion_overlap(get_system_memory(),
+ memory_region_add_subregion_overlap(system_memory,
isa_mem_base + 0x000a0000,
&s->low_mem_container,
1);
@@ -2900,14 +2899,14 @@ static void cirrus_init_common(CirrusVGAState * s, int
device_id, int is_pci)
*
***************************************/
-void isa_cirrus_vga_init(void)
+void isa_cirrus_vga_init(MemoryRegion *system_memory)
{
CirrusVGAState *s;
s = qemu_mallocz(sizeof(CirrusVGAState));
vga_common_init(&s->vga, VGA_RAM_SIZE);
- cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0);
+ cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0, system_memory);
s->vga.ds = graphic_console_init(s->vga.update, s->vga.invalidate,
s->vga.screen_dump, s->vga.text_update,
&s->vga);
@@ -2931,7 +2930,7 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
/* setup VGA */
vga_common_init(&s->vga, VGA_RAM_SIZE);
- cirrus_init_common(s, device_id, 1);
+ cirrus_init_common(s, device_id, 1, pci_address_space(dev));
s->vga.ds = graphic_console_init(s->vga.update, s->vga.invalidate,
s->vga.screen_dump, s->vga.text_update,
&s->vga);
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index a100394..a64339f 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -102,6 +102,8 @@ static void cpu_request_exit(void *opaque, int irq, int
level)
}
}
+#include "exec-memory.h"
+
static
void mips_jazz_init (ram_addr_t ram_size,
const char *cpu_model,
@@ -194,7 +196,7 @@ void mips_jazz_init (ram_addr_t ram_size,
g364fb_mm_init(0x40000000, 0x60000000, 0, rc4030[3]);
break;
case JAZZ_PICA61:
- isa_vga_mm_init(0x40000000, 0x60000000, 0);
+ isa_vga_mm_init(0x40000000, 0x60000000, 0, get_system_memory());
break;
default:
break;
diff --git a/hw/pc.c b/hw/pc.c
index 1c9d89a..f920001 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1060,13 +1060,15 @@ qemu_irq *pc_allocate_cpu_irq(void)
return qemu_allocate_irqs(pic_irq_request, NULL, 1);
}
+#include "exec-memory.h"
+
void pc_vga_init(PCIBus *pci_bus)
{
if (cirrus_vga_enabled) {
if (pci_bus) {
pci_cirrus_vga_init(pci_bus);
} else {
- isa_cirrus_vga_init();
+ isa_cirrus_vga_init(get_system_memory());
}
} else if (vmsvga_enabled) {
if (pci_bus) {
diff --git a/hw/pc.h b/hw/pc.h
index ec34db7..d871fd8 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -212,11 +212,12 @@ static inline int isa_vga_init(void)
int pci_vga_init(PCIBus *bus);
int isa_vga_mm_init(target_phys_addr_t vram_base,
- target_phys_addr_t ctrl_base, int it_shift);
+ target_phys_addr_t ctrl_base, int it_shift,
+ MemoryRegion *address_space);
/* cirrus_vga.c */
void pci_cirrus_vga_init(PCIBus *bus);
-void isa_cirrus_vga_init(void);
+void isa_cirrus_vga_init(MemoryRegion *address_space);
/* ne2000.c */
static inline bool isa_ne2000_init(int base, int irq, NICInfo *nd)
diff --git a/hw/qxl.c b/hw/qxl.c
index 854ffa9..c0a119d 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1270,7 +1270,7 @@ static int qxl_init_primary(PCIDevice *dev)
ram_size = 32 * 1024 * 1024;
}
vga_common_init(vga, ram_size);
- vga_init(vga);
+ vga_init(vga, pci_address_space(dev));
register_ioport_write(0x3c0, 16, 1, qxl_vga_ioport_write, vga);
register_ioport_write(0x3b4, 2, 1, qxl_vga_ioport_write, vga);
register_ioport_write(0x3d4, 2, 1, qxl_vga_ioport_write, vga);
diff --git a/hw/vga-isa-mm.c b/hw/vga-isa-mm.c
index baa1e92..3fe23dd 100644
--- a/hw/vga-isa-mm.c
+++ b/hw/vga-isa-mm.c
@@ -95,10 +95,9 @@ static const MemoryRegionOps vga_mm_ctrl_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
-#include "exec-memory.h"
-
static void vga_mm_init(ISAVGAMMState *s, target_phys_addr_t vram_base,
- target_phys_addr_t ctrl_base, int it_shift)
+ target_phys_addr_t ctrl_base, int it_shift,
+ MemoryRegion *address_space)
{
MemoryRegion *s_ioport_ctrl, *vga_io_memory;
@@ -114,26 +113,27 @@ static void vga_mm_init(ISAVGAMMState *s,
target_phys_addr_t vram_base,
vmstate_register(NULL, 0, &vmstate_vga_common, s);
- memory_region_add_subregion(get_system_memory(), ctrl_base, s_ioport_ctrl);
+ memory_region_add_subregion(address_space, ctrl_base, s_ioport_ctrl);
s->vga.bank_offset = 0;
- memory_region_add_subregion(get_system_memory(),
+ memory_region_add_subregion(address_space,
vram_base + 0x000a0000, vga_io_memory);
memory_region_set_coalescing(vga_io_memory);
}
int isa_vga_mm_init(target_phys_addr_t vram_base,
- target_phys_addr_t ctrl_base, int it_shift)
+ target_phys_addr_t ctrl_base, int it_shift,
+ MemoryRegion *address_space)
{
ISAVGAMMState *s;
s = qemu_mallocz(sizeof(*s));
vga_common_init(&s->vga, VGA_RAM_SIZE);
- vga_mm_init(s, vram_base, ctrl_base, it_shift);
+ vga_mm_init(s, vram_base, ctrl_base, it_shift, address_space);
s->vga.ds = graphic_console_init(s->vga.update, s->vga.invalidate,
s->vga.screen_dump, s->vga.text_update,
s);
- vga_init_vbe(&s->vga);
+ vga_init_vbe(&s->vga, address_space);
return 0;
}
diff --git a/hw/vga-isa.c b/hw/vga-isa.c
index 518cecc..0d19901 100644
--- a/hw/vga-isa.c
+++ b/hw/vga-isa.c
@@ -42,8 +42,6 @@ static void vga_reset_isa(DeviceState *dev)
vga_common_reset(s);
}
-#include "exec-memory.h"
-
static int vga_initfn(ISADevice *dev)
{
ISAVGAState *d = DO_UPCAST(ISAVGAState, dev, dev);
@@ -52,7 +50,7 @@ static int vga_initfn(ISADevice *dev)
vga_common_init(s, VGA_RAM_SIZE);
vga_io_memory = vga_init_io(s);
- memory_region_add_subregion_overlap(get_system_memory(),
+ memory_region_add_subregion_overlap(isa_address_space(dev),
isa_mem_base + 0x000a0000,
vga_io_memory, 1);
memory_region_set_coalescing(vga_io_memory);
@@ -69,7 +67,7 @@ static int vga_initfn(ISADevice *dev)
s->ds = graphic_console_init(s->update, s->invalidate,
s->screen_dump, s->text_update, s);
- vga_init_vbe(s);
+ vga_init_vbe(s, isa_address_space(dev));
/* ROM BIOS */
rom_add_vga(VGABIOS_FILENAME);
return 0;
diff --git a/hw/vga-pci.c b/hw/vga-pci.c
index c67be0a..3c8bcb0 100644
--- a/hw/vga-pci.c
+++ b/hw/vga-pci.c
@@ -54,7 +54,7 @@ static int pci_vga_initfn(PCIDevice *dev)
// vga + console init
vga_common_init(s, VGA_RAM_SIZE);
- vga_init(s);
+ vga_init(s, pci_address_space(dev));
s->ds = graphic_console_init(s->update, s->invalidate,
s->screen_dump, s->text_update, s);
@@ -64,7 +64,7 @@ static int pci_vga_initfn(PCIDevice *dev)
if (!dev->rom_bar) {
/* compatibility with pc-0.13 and older */
- vga_init_vbe(s);
+ vga_init_vbe(s, pci_address_space(dev));
}
return 0;
diff --git a/hw/vga.c b/hw/vga.c
index df47a05..5a78b71 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -2239,9 +2239,7 @@ MemoryRegion *vga_init_io(VGACommonState *s)
return vga_mem;
}
-#include "exec-memory.h"
-
-void vga_init(VGACommonState *s)
+void vga_init(VGACommonState *s, MemoryRegion *address_space)
{
MemoryRegion *vga_io_memory;
@@ -2250,18 +2248,18 @@ void vga_init(VGACommonState *s)
s->bank_offset = 0;
vga_io_memory = vga_init_io(s);
- memory_region_add_subregion_overlap(get_system_memory(),
+ memory_region_add_subregion_overlap(address_space,
isa_mem_base + 0x000a0000,
vga_io_memory,
1);
memory_region_set_coalescing(vga_io_memory);
}
-void vga_init_vbe(VGACommonState *s)
+void vga_init_vbe(VGACommonState *s, MemoryRegion *system_memory)
{
#ifdef CONFIG_BOCHS_VBE
/* XXX: use optimized standard vga accesses */
- memory_region_add_subregion(get_system_memory(),
+ memory_region_add_subregion(system_memory,
VBE_DISPI_LFB_PHYSICAL_ADDRESS,
&s->vram);
s->vbe_mapped = 1;
diff --git a/hw/vga_int.h b/hw/vga_int.h
index aba2e98..176bf40 100644
--- a/hw/vga_int.h
+++ b/hw/vga_int.h
@@ -186,7 +186,7 @@ static inline int c6_to_8(int v)
}
void vga_common_init(VGACommonState *s, int vga_ram_size);
-void vga_init(VGACommonState *s);
+void vga_init(VGACommonState *s, MemoryRegion *address_space);
MemoryRegion *vga_init_io(VGACommonState *s);
void vga_common_reset(VGACommonState *s);
@@ -216,7 +216,7 @@ void vga_draw_cursor_line_32(uint8_t *d1, const uint8_t
*src1,
unsigned int color_xor);
int vga_ioport_invalid(VGACommonState *s, uint32_t addr);
-void vga_init_vbe(VGACommonState *s);
+void vga_init_vbe(VGACommonState *s, MemoryRegion *address_space);
extern const uint8_t sr_mask[8];
extern const uint8_t gr_mask[16];
diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
index d5cfa70..dded3f6 100644
--- a/hw/vmware_vga.c
+++ b/hw/vmware_vga.c
@@ -1207,7 +1207,8 @@ static const VMStateDescription vmstate_vmware_vga = {
}
};
-static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size)
+static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size,
+ MemoryRegion *address_space)
{
s->scratch_size = SVGA_SCRATCH_SIZE;
s->scratch = qemu_malloc(s->scratch_size * 4);
@@ -1223,7 +1224,7 @@ static void vmsvga_init(struct vmsvga_state_s *s, int
vga_ram_size)
s->fifo_ptr = memory_region_get_ram_ptr(&s->fifo_ram);
vga_common_init(&s->vga, vga_ram_size);
- vga_init(&s->vga);
+ vga_init(&s->vga, address_space);
vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
vmsvga_reset(s);
@@ -1293,7 +1294,7 @@ static int pci_vmsvga_initfn(PCIDevice *dev)
"vmsvga-io", 0x10);
pci_register_bar(&s->card, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->io_bar);
- vmsvga_init(&s->chip, VGA_RAM_SIZE);
+ vmsvga_init(&s->chip, VGA_RAM_SIZE, pci_address_space(dev));
pci_register_bar(&s->card, 1, PCI_BASE_ADDRESS_MEM_PREFETCH, iomem);
pci_register_bar(&s->card, 2, PCI_BASE_ADDRESS_MEM_PREFETCH,
@@ -1301,7 +1302,7 @@ static int pci_vmsvga_initfn(PCIDevice *dev)
if (!dev->rom_bar) {
/* compatibility with pc-0.13 and older */
- vga_init_vbe(&s->chip.vga);
+ vga_init_vbe(&s->chip.vga, pci_address_space(dev));
}
return 0;
--
1.7.5.3
- [Qemu-devel] [RFC v5 38/86] eepro100: convert to memory API, (continued)
- [Qemu-devel] [RFC v5 38/86] eepro100: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 30/86] cirrus: simplify linear framebuffer access functions, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 23/86] pci: add API to get a BAR's mapped address, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 36/86] ac97: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 76/86] stellaris_enet: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 72/86] onenand: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 32/86] exec.c: fix initialization of system I/O memory region, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 60/86] pci: rename pci_register_bar_region() to pci_register_bar(), Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 06/86] memory: abstract address space operations, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 49/86] i6300esb: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 85/86] vga: drop get_system_memory() from vga devices and derivatives,
Avi Kivity <=
- [Qemu-devel] [RFC v5 27/86] cirrus: simplify bitblt BAR access functions, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 71/86] omap_gpmc/nseries/tusb6010: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 40/86] ide: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 08/86] memory: late initialization of ram_addr, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 80/86] versatile_pci: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 50/86] isa-mmio: concert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 39/86] es1370: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 46/86] ppc: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 44/86] intel-hda: convert to memory API, Avi Kivity, 2011/07/20
- [Qemu-devel] [RFC v5 51/86] sun4u: convert to memory API, Avi Kivity, 2011/07/20