-cirrusvga option
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@897 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/hw/pc.c b/hw/pc.c
index eef120e..788854b 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -396,8 +396,18 @@
register_ioport_write(0xf0, 1, 1, ioportF0_write, NULL);
- vga_initialize(ds, phys_ram_base + ram_size, ram_size,
- vga_ram_size, pci_enabled);
+ if (cirrus_vga_enabled) {
+ if (pci_enabled) {
+ pci_cirrus_vga_init(ds, phys_ram_base + ram_size, ram_size,
+ vga_ram_size);
+ } else {
+ isa_cirrus_vga_init(ds, phys_ram_base + ram_size, ram_size,
+ vga_ram_size);
+ }
+ } else {
+ vga_initialize(ds, phys_ram_base + ram_size, ram_size,
+ vga_ram_size, pci_enabled);
+ }
rtc_state = rtc_init(0x70, 8);
register_ioport_read(0x61, 1, 1, speaker_ioport_read, NULL);
diff --git a/vl.c b/vl.c
index b424ed1..cdebcc2 100644
--- a/vl.c
+++ b/vl.c
@@ -130,6 +130,7 @@
int pci_enabled = 0;
int prep_enabled = 0;
int rtc_utc = 1;
+int cirrus_vga_enabled = 0;
/***********************************************************/
/* x86 ISA bus support */
@@ -2053,6 +2054,7 @@
QEMU_OPTION_pci,
QEMU_OPTION_prep,
QEMU_OPTION_localtime,
+ QEMU_OPTION_cirrusvga,
};
typedef struct QEMUOption {
@@ -2097,13 +2099,14 @@
{ "hdachs", HAS_ARG, QEMU_OPTION_hdachs },
{ "L", HAS_ARG, QEMU_OPTION_L },
{ "no-code-copy", 0, QEMU_OPTION_no_code_copy },
-
- /* temporary options */
- { "pci", 0, QEMU_OPTION_pci },
#ifdef TARGET_PPC
{ "prep", 0, QEMU_OPTION_prep },
#endif
{ "localtime", 0, QEMU_OPTION_localtime },
+
+ /* temporary options */
+ { "pci", 0, QEMU_OPTION_pci },
+ { "cirrusvga", 0, QEMU_OPTION_cirrusvga },
{ NULL },
};
@@ -2383,6 +2386,9 @@
case QEMU_OPTION_localtime:
rtc_utc = 0;
break;
+ case QEMU_OPTION_cirrusvga:
+ cirrus_vga_enabled = 1;
+ break;
}
}
}
diff --git a/vl.h b/vl.h
index 1b5c3cf..fc16f47 100644
--- a/vl.h
+++ b/vl.h
@@ -171,6 +171,7 @@
extern int ram_size;
extern int bios_size;
extern int rtc_utc;
+extern int cirrus_vga_enabled;
/* XXX: make it dynamic */
#if defined (TARGET_PPC)