diff options
author | aliguori | 2009-01-16 20:04:14 +0100 |
---|---|---|
committer | aliguori | 2009-01-16 20:04:14 +0100 |
commit | 3023f3329d87a6203d03a0e9ccb948772940da96 (patch) | |
tree | 2e1bea1fcce30aa15940275277f52022d7325341 /hw/tc6393xb.c | |
parent | Fix false positive for AIO on OpenBSD (diff) | |
download | qemu-3023f3329d87a6203d03a0e9ccb948772940da96.tar.gz qemu-3023f3329d87a6203d03a0e9ccb948772940da96.tar.xz qemu-3023f3329d87a6203d03a0e9ccb948772940da96.zip |
graphical_console_init change (Stefano Stabellini)
Patch 5/7
This patch changes the graphical_console_init function to return an
allocated DisplayState instead of a QEMUConsole.
This patch contains just the graphical_console_init change and few other
modifications mainly in console.c and vl.c.
It was necessary to move the display frontends (e.g. sdl and vnc)
initialization after machine->init in vl.c.
This patch does *not* include any required changes to any device, these
changes come with the following patches.
Patch 6/7
This patch changes the QEMUMachine init functions not to take a
DisplayState as an argument because is not needed any more;
In few places the graphic hardware initialization function was called
only if DisplayState was not NULL, now they are always called.
Apart from these cases, the rest are all mechanical substitutions.
Patch 7/7
This patch updates the graphic device code to use the new
graphical_console_init function.
As for the previous patch, in few places graphical_console_init was called
only if DisplayState was not NULL, now it is always called.
Apart from these cases, the rest are all mechanical substitutions.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6344 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/tc6393xb.c')
-rw-r--r-- | hw/tc6393xb.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/hw/tc6393xb.c b/hw/tc6393xb.c index a5fed5f1a1..7d2f1b2503 100644 --- a/hw/tc6393xb.c +++ b/hw/tc6393xb.c @@ -122,7 +122,6 @@ struct tc6393xb_s { struct ecc_state_s ecc; DisplayState *ds; - QEMUConsole *console; ram_addr_t vram_addr; uint32_t scr_width, scr_height; /* in pixels */ qemu_irq l3v; @@ -485,7 +484,7 @@ static void tc6393xb_update_display(void *opaque) full_update = 1; } if (s->scr_width != ds_get_width(s->ds) || s->scr_height != ds_get_height(s->ds)) { - qemu_console_resize(s->console, s->scr_width, s->scr_height); + qemu_console_resize(s->ds, s->scr_width, s->scr_height); full_update = 1; } if (s->blanked) @@ -563,7 +562,7 @@ static void tc6393xb_writel(void *opaque, target_phys_addr_t addr, uint32_t valu tc6393xb_writeb(opaque, addr + 3, value >> 24); } -struct tc6393xb_s *tc6393xb_init(uint32_t base, qemu_irq irq, DisplayState *ds) +struct tc6393xb_s *tc6393xb_init(uint32_t base, qemu_irq irq) { int iomemtype; struct tc6393xb_s *s; @@ -593,19 +592,15 @@ struct tc6393xb_s *tc6393xb_init(uint32_t base, qemu_irq irq, DisplayState *ds) tc6393xb_writefn, s); cpu_register_physical_memory(base, 0x10000, iomemtype); - if (ds) { - s->ds = ds; - s->vram_addr = qemu_ram_alloc(0x100000); - cpu_register_physical_memory(base + 0x100000, 0x100000, s->vram_addr); - s->scr_width = 480; - s->scr_height = 640; - s->console = graphic_console_init(ds, - tc6393xb_update_display, - NULL, /* invalidate */ - NULL, /* screen_dump */ - NULL, /* text_update */ - s); - } + s->vram_addr = qemu_ram_alloc(0x100000); + cpu_register_physical_memory(base + 0x100000, 0x100000, s->vram_addr); + s->scr_width = 480; + s->scr_height = 640; + s->ds = graphic_console_init(tc6393xb_update_display, + NULL, /* invalidate */ + NULL, /* screen_dump */ + NULL, /* text_update */ + s); return s; } |