aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-06-05 13:46:47 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-06-05 13:46:47 +0000
commit1f04275ec1d2db4baab3fe638ccbaa5862cdc0df (patch)
treeb0f711e7a4d3426884948e9de2f4d6bde7e64dff
parent4e3e9d0b4d31cc7966147543634c3476aec52d21 (diff)
-cirrusvga option
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@897 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/pc.c14
-rw-r--r--vl.c12
-rw-r--r--vl.h1
3 files changed, 22 insertions, 5 deletions
diff --git a/hw/pc.c b/hw/pc.c
index eef120e0ee..788854b293 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -396,8 +396,18 @@ void pc_init(int ram_size, int vga_ram_size, int boot_device,
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 b424ed11ef..cdebcc2035 100644
--- a/vl.c
+++ b/vl.c
@@ -130,6 +130,7 @@ int audio_enabled = 0;
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 @@ enum {
QEMU_OPTION_pci,
QEMU_OPTION_prep,
QEMU_OPTION_localtime,
+ QEMU_OPTION_cirrusvga,
};
typedef struct QEMUOption {
@@ -2097,13 +2099,14 @@ const QEMUOption qemu_options[] = {
{ "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 @@ int main(int argc, char **argv)
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 1b5c3cfd48..fc16f47c65 100644
--- a/vl.h
+++ b/vl.h
@@ -171,6 +171,7 @@ extern int audio_enabled;
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)