}
}
-void audio_init(ISABus *isa_bus, PCIBus *pci_bus)
+void audio_init(void)
{
struct soundhw *c;
+ ISABus *isa_bus = (ISABus *) object_resolve_path_type("", TYPE_ISA_BUS, NULL);
+ PCIBus *pci_bus = (PCIBus *) object_resolve_path_type("", TYPE_PCI_BUS, NULL);
for (c = soundhw; c->name; ++c) {
if (c->enabled) {
if (c->isa) {
- if (isa_bus) {
- c->init.init_isa(isa_bus);
+ if (!isa_bus) {
+ fprintf(stderr, "ISA bus not available for %s\n", c->name);
+ exit(1);
}
+ c->init.init_isa(isa_bus);
} else {
- if (pci_bus) {
- c->init.init_pci(pci_bus);
+ if (!pci_bus) {
+ fprintf(stderr, "PCI bus not available for %s\n", c->name);
+ exit(1);
}
+ c->init.init_pci(pci_bus);
}
}
}
void *fw_cfg = NULL;
pc_cpus_init(cpu_model);
- pc_acpi_init("acpi-dsdt.aml");
if (kvmclock_enabled) {
kvmclock_create();
}
}
- audio_init(isa_bus, pci_enabled ? pci_bus : NULL);
+ audio_init();
pc_cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device,
floppy, idebus[0], idebus[1], rtc_state);
/* the rest devices to which pci devfn is automatically assigned */
pc_vga_init(isa_bus, host_bus);
- audio_init(isa_bus, host_bus);
+ audio_init();
pc_nic_init(isa_bus, host_bus);
if (pci_enabled) {
pc_pci_device_init(host_bus);
/* Sound card */
/* FIXME: missing Jazz sound at 0x8000c000, rc4030[2] */
- audio_init(isa_bus, NULL);
+ audio_init();
/* NVRAM */
dev = qdev_create(NULL, "ds1225y");
fdctrl_init_isa(isa_bus, fd);
/* Sound card */
- audio_init(isa_bus, pci_bus);
+ audio_init();
/* Network card */
network_init();
register_ioport_write(0x0F00, 4, 1, &PPC_debug_write, NULL);
/* Initialize audio subsystem */
- audio_init(isa_bus, pci_bus);
+ audio_init();
}
static QEMUMachine prep_machine = {
void do_acpitable_option(const QemuOpts *opts);
void do_smbios_option(const char *optarg);
void cpudef_init(void);
-void audio_init(ISABus *isa_bus, PCIBus *pci_bus);
+void audio_init(void);
int tcg_available(void);
int kvm_available(void);
int xen_available(void);