mirror of
https://git.proxmox.com/git/qemu
synced 2025-06-15 12:44:04 +00:00
audio: consolidate audio_init()
consolidate audio_init() and remove references to shoundhw. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Acked-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
bec43cc3b6
commit
0dfa5ef90d
35
arch_init.c
35
arch_init.c
@ -461,7 +461,18 @@ void qemu_service_io(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAS_AUDIO
|
#ifdef HAS_AUDIO
|
||||||
struct soundhw soundhw[] = {
|
struct soundhw {
|
||||||
|
const char *name;
|
||||||
|
const char *descr;
|
||||||
|
int enabled;
|
||||||
|
int isa;
|
||||||
|
union {
|
||||||
|
int (*init_isa) (qemu_irq *pic);
|
||||||
|
int (*init_pci) (PCIBus *bus);
|
||||||
|
} init;
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct soundhw soundhw[] = {
|
||||||
#ifdef HAS_AUDIO_CHOICE
|
#ifdef HAS_AUDIO_CHOICE
|
||||||
#if defined(TARGET_I386) || defined(TARGET_MIPS)
|
#if defined(TARGET_I386) || defined(TARGET_MIPS)
|
||||||
{
|
{
|
||||||
@ -610,10 +621,32 @@ void select_soundhw(const char *optarg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void audio_init(qemu_irq *isa_pic, PCIBus *pci_bus)
|
||||||
|
{
|
||||||
|
struct soundhw *c;
|
||||||
|
|
||||||
|
for (c = soundhw; c->name; ++c) {
|
||||||
|
if (c->enabled) {
|
||||||
|
if (c->isa) {
|
||||||
|
if (isa_pic) {
|
||||||
|
c->init.init_isa(isa_pic);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (pci_bus) {
|
||||||
|
c->init.init_pci(pci_bus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
void select_soundhw(const char *optarg)
|
void select_soundhw(const char *optarg)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
void audio_init(qemu_irq *isa_pic, PCIBus *pci_bus)
|
||||||
|
{
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int qemu_uuid_parse(const char *str, uint8_t *uuid)
|
int qemu_uuid_parse(const char *str, uint8_t *uuid)
|
||||||
|
@ -27,6 +27,7 @@ void do_acpitable_option(const char *optarg);
|
|||||||
void do_smbios_option(const char *optarg);
|
void do_smbios_option(const char *optarg);
|
||||||
void cpudef_init(void);
|
void cpudef_init(void);
|
||||||
int audio_available(void);
|
int audio_available(void);
|
||||||
|
void audio_init(qemu_irq *isa_pic, PCIBus *pci_bus);
|
||||||
int kvm_available(void);
|
int kvm_available(void);
|
||||||
int xen_available(void);
|
int xen_available(void);
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include "isa.h"
|
#include "isa.h"
|
||||||
#include "fdc.h"
|
#include "fdc.h"
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
#include "audio/audio.h"
|
#include "arch_init.h"
|
||||||
#include "boards.h"
|
#include "boards.h"
|
||||||
#include "net.h"
|
#include "net.h"
|
||||||
#include "esp.h"
|
#include "esp.h"
|
||||||
@ -90,26 +90,6 @@ static CPUWriteMemoryFunc * const dma_dummy_write[3] = {
|
|||||||
dma_dummy_writeb,
|
dma_dummy_writeb,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void audio_init(qemu_irq *pic)
|
|
||||||
{
|
|
||||||
struct soundhw *c;
|
|
||||||
int audio_enabled = 0;
|
|
||||||
|
|
||||||
for (c = soundhw; !audio_enabled && c->name; ++c) {
|
|
||||||
audio_enabled = c->enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (audio_enabled) {
|
|
||||||
for (c = soundhw; c->name; ++c) {
|
|
||||||
if (c->enabled) {
|
|
||||||
if (c->isa) {
|
|
||||||
c->init.init_isa(pic);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#define MAGNUM_BIOS_SIZE_MAX 0x7e000
|
#define MAGNUM_BIOS_SIZE_MAX 0x7e000
|
||||||
#define MAGNUM_BIOS_SIZE (BIOS_SIZE < MAGNUM_BIOS_SIZE_MAX ? BIOS_SIZE : MAGNUM_BIOS_SIZE_MAX)
|
#define MAGNUM_BIOS_SIZE (BIOS_SIZE < MAGNUM_BIOS_SIZE_MAX ? BIOS_SIZE : MAGNUM_BIOS_SIZE_MAX)
|
||||||
|
|
||||||
@ -284,7 +264,7 @@ void mips_jazz_init (ram_addr_t ram_size,
|
|||||||
|
|
||||||
/* Sound card */
|
/* Sound card */
|
||||||
/* FIXME: missing Jazz sound at 0x8000c000, rc4030[2] */
|
/* FIXME: missing Jazz sound at 0x8000c000, rc4030[2] */
|
||||||
audio_init(i8259);
|
audio_init(i8259, NULL);
|
||||||
|
|
||||||
/* NVRAM: Unprotected at 0x9000, Protected at 0xa000, Read only at 0xb000 */
|
/* NVRAM: Unprotected at 0x9000, Protected at 0xa000, Read only at 0xb000 */
|
||||||
ds1225y_init(0x80009000, "nvram");
|
ds1225y_init(0x80009000, "nvram");
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
#include "vmware_vga.h"
|
#include "vmware_vga.h"
|
||||||
#include "qemu-char.h"
|
#include "qemu-char.h"
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
#include "audio/audio.h"
|
#include "arch_init.h"
|
||||||
#include "boards.h"
|
#include "boards.h"
|
||||||
#include "qemu-log.h"
|
#include "qemu-log.h"
|
||||||
#include "mips-bios.h"
|
#include "mips-bios.h"
|
||||||
@ -457,25 +457,6 @@ static MaltaFPGAState *malta_fpga_init(target_phys_addr_t base, qemu_irq uart_ir
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Audio support */
|
|
||||||
static void audio_init (PCIBus *pci_bus)
|
|
||||||
{
|
|
||||||
struct soundhw *c;
|
|
||||||
int audio_enabled = 0;
|
|
||||||
|
|
||||||
for (c = soundhw; !audio_enabled && c->name; ++c) {
|
|
||||||
audio_enabled = c->enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (audio_enabled) {
|
|
||||||
for (c = soundhw; c->name; ++c) {
|
|
||||||
if (c->enabled) {
|
|
||||||
c->init.init_pci(pci_bus);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Network support */
|
/* Network support */
|
||||||
static void network_init(void)
|
static void network_init(void)
|
||||||
{
|
{
|
||||||
@ -967,7 +948,7 @@ void mips_malta_init (ram_addr_t ram_size,
|
|||||||
fdctrl_init_isa(fd);
|
fdctrl_init_isa(fd);
|
||||||
|
|
||||||
/* Sound card */
|
/* Sound card */
|
||||||
audio_init(pci_bus);
|
audio_init(NULL, pci_bus);
|
||||||
|
|
||||||
/* Network card */
|
/* Network card */
|
||||||
network_init();
|
network_init();
|
||||||
|
17
hw/pc.c
17
hw/pc.c
@ -829,23 +829,6 @@ static const int ne2000_irq[NE2000_NB_MAX] = { 9, 10, 11, 3, 4, 5 };
|
|||||||
static const int parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc };
|
static const int parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc };
|
||||||
static const int parallel_irq[MAX_PARALLEL_PORTS] = { 7, 7, 7 };
|
static const int parallel_irq[MAX_PARALLEL_PORTS] = { 7, 7, 7 };
|
||||||
|
|
||||||
void pc_audio_init (PCIBus *pci_bus, qemu_irq *pic)
|
|
||||||
{
|
|
||||||
struct soundhw *c;
|
|
||||||
|
|
||||||
for (c = soundhw; c->name; ++c) {
|
|
||||||
if (c->enabled) {
|
|
||||||
if (c->isa) {
|
|
||||||
c->init.init_isa(pic);
|
|
||||||
} else {
|
|
||||||
if (pci_bus) {
|
|
||||||
c->init.init_pci(pci_bus);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void pc_init_ne2k_isa(NICInfo *nd)
|
void pc_init_ne2k_isa(NICInfo *nd)
|
||||||
{
|
{
|
||||||
static int nb_ne2k = 0;
|
static int nb_ne2k = 0;
|
||||||
|
3
hw/pc.h
3
hw/pc.h
@ -100,9 +100,6 @@ void pc_basic_device_init(qemu_irq *isa_irq,
|
|||||||
FDCtrl **floppy_controller,
|
FDCtrl **floppy_controller,
|
||||||
ISADevice **rtc_state);
|
ISADevice **rtc_state);
|
||||||
void pc_init_ne2k_isa(NICInfo *nd);
|
void pc_init_ne2k_isa(NICInfo *nd);
|
||||||
#ifdef HAS_AUDIO
|
|
||||||
void pc_audio_init (PCIBus *pci_bus, qemu_irq *pic);
|
|
||||||
#endif
|
|
||||||
void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
|
void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
|
||||||
const char *boot_device,
|
const char *boot_device,
|
||||||
BusState *ide0, BusState *ide1,
|
BusState *ide0, BusState *ide1,
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "kvm.h"
|
#include "kvm.h"
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
#include "sysbus.h"
|
#include "sysbus.h"
|
||||||
|
#include "arch_init.h"
|
||||||
#include "blockdev.h"
|
#include "blockdev.h"
|
||||||
|
|
||||||
#define MAX_IDE_BUS 2
|
#define MAX_IDE_BUS 2
|
||||||
@ -148,7 +149,7 @@ static void pc_init1(ram_addr_t ram_size,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pc_audio_init(pci_enabled ? pci_bus : NULL, isa_irq);
|
audio_init(isa_irq, pci_enabled ? pci_bus : NULL);
|
||||||
|
|
||||||
pc_cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device,
|
pc_cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device,
|
||||||
idebus[0], idebus[1], floppy_controller, rtc_state);
|
idebus[0], idebus[1], floppy_controller, rtc_state);
|
||||||
|
15
sysemu.h
15
sysemu.h
@ -178,21 +178,6 @@ extern CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
|
|||||||
|
|
||||||
#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
|
#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
|
||||||
|
|
||||||
#ifdef HAS_AUDIO
|
|
||||||
struct soundhw {
|
|
||||||
const char *name;
|
|
||||||
const char *descr;
|
|
||||||
int enabled;
|
|
||||||
int isa;
|
|
||||||
union {
|
|
||||||
int (*init_isa) (qemu_irq *pic);
|
|
||||||
int (*init_pci) (PCIBus *bus);
|
|
||||||
} init;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct soundhw soundhw[];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void do_usb_add(Monitor *mon, const QDict *qdict);
|
void do_usb_add(Monitor *mon, const QDict *qdict);
|
||||||
void do_usb_del(Monitor *mon, const QDict *qdict);
|
void do_usb_del(Monitor *mon, const QDict *qdict);
|
||||||
void usb_info(Monitor *mon);
|
void usb_info(Monitor *mon);
|
||||||
|
Loading…
Reference in New Issue
Block a user