isa: add a isa_vga_init() function
This function create a ISA VGA device according to the value of vga_interface_type. It returns a ISADevice (and not a DeviceState). Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
129d42fb84
commit
14e7a6456e
20
hw/isa-bus.c
20
hw/isa-bus.c
@ -19,6 +19,7 @@
|
||||
#include "hw.h"
|
||||
#include "monitor.h"
|
||||
#include "sysbus.h"
|
||||
#include "sysemu.h"
|
||||
#include "isa.h"
|
||||
#include "exec-memory.h"
|
||||
|
||||
@ -166,6 +167,25 @@ ISADevice *isa_create_simple(ISABus *bus, const char *name)
|
||||
return dev;
|
||||
}
|
||||
|
||||
ISADevice *isa_vga_init(ISABus *bus)
|
||||
{
|
||||
switch (vga_interface_type) {
|
||||
case VGA_CIRRUS:
|
||||
return isa_create_simple(bus, "isa-cirrus-vga");
|
||||
case VGA_QXL:
|
||||
fprintf(stderr, "%s: qxl: no PCI bus\n", __func__);
|
||||
return NULL;
|
||||
case VGA_STD:
|
||||
return isa_create_simple(bus, "isa-vga");
|
||||
case VGA_VMWARE:
|
||||
fprintf(stderr, "%s: vmware_vga: no PCI bus\n", __func__);
|
||||
return NULL;
|
||||
case VGA_NONE:
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void isabus_dev_print(Monitor *mon, DeviceState *dev, int indent)
|
||||
{
|
||||
ISADevice *d = ISA_DEVICE(dev);
|
||||
|
2
hw/isa.h
2
hw/isa.h
@ -47,6 +47,8 @@ ISADevice *isa_create(ISABus *bus, const char *name);
|
||||
ISADevice *isa_try_create(ISABus *bus, const char *name);
|
||||
ISADevice *isa_create_simple(ISABus *bus, const char *name);
|
||||
|
||||
ISADevice *isa_vga_init(ISABus *bus);
|
||||
|
||||
/**
|
||||
* isa_register_ioport: Install an I/O port region on the ISA bus.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user