*/
#include "qemu/osdep.h"
#include "hw/hw.h"
-#include "hw/audio/audio.h"
+#include "hw/audio/soundhw.h"
#include "audio/audio.h"
#include "hw/isa/isa.h"
#include "hw/qdev.h"
#include "qemu/timer.h"
#include "qemu/host-utils.h"
+#include "qemu/log.h"
+#include "qapi/error.h"
#define dolog(...) AUD_log ("sb16", __VA_ARGS__)
case 10:
return 8;
default:
- dolog ("bad irq %d\n", irq);
+ qemu_log_mask(LOG_GUEST_ERROR, "bad irq %d\n", irq);
return 2;
}
}
case 8:
return 10;
default:
- dolog ("bad irq magic %d\n", magic);
+ qemu_log_mask(LOG_GUEST_ERROR, "bad irq magic %d\n", magic);
return -1;
}
}
s->align = (1 << s->fmt_stereo) - 1;
if (s->block_size & s->align) {
- dolog ("warning: misaligned block size %d, alignment %d\n",
- s->block_size, s->align + 1);
+ qemu_log_mask(LOG_GUEST_ERROR, "warning: misaligned block size %d,"
+ " alignment %d\n", s->block_size, s->align + 1);
}
ldebug ("freq %d, stereo %d, sign %d, bits %d, "
s->highspeed = 0;
s->align = (1 << (s->fmt_stereo + (s->fmt_bits == 16))) - 1;
if (s->block_size & s->align) {
- dolog ("warning: misaligned block size %d, alignment %d\n",
- s->block_size, s->align + 1);
+ qemu_log_mask(LOG_GUEST_ERROR, "warning: misaligned block size %d,"
+ " alignment %d\n", s->block_size, s->align + 1);
}
if (s->freq) {
if (cmd > 0xaf && cmd < 0xd0) {
if (cmd & 8) {
- dolog ("ADC not yet supported (command %#x)\n", cmd);
+ qemu_log_mask(LOG_UNIMP, "ADC not yet supported (command %#x)\n",
+ cmd);
}
switch (cmd >> 4) {
case 12:
break;
default:
- dolog ("%#x wrong bits\n", cmd);
+ qemu_log_mask(LOG_GUEST_ERROR, "%#x wrong bits\n", cmd);
}
s->needed_bytes = 3;
}
goto warn;
case 0x35:
- dolog ("0x35 - MIDI command not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x35 - MIDI command not implemented\n");
break;
case 0x40:
case 0x74:
s->needed_bytes = 2; /* DMA DAC, 4-bit ADPCM */
- dolog ("0x75 - DMA DAC, 4-bit ADPCM not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x75 - DMA DAC, 4-bit ADPCM not"
+ " implemented\n");
break;
case 0x75: /* DMA DAC, 4-bit ADPCM Reference */
s->needed_bytes = 2;
- dolog ("0x74 - DMA DAC, 4-bit ADPCM Reference not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x74 - DMA DAC, 4-bit ADPCM Reference not"
+ " implemented\n");
break;
case 0x76: /* DMA DAC, 2.6-bit ADPCM */
s->needed_bytes = 2;
- dolog ("0x74 - DMA DAC, 2.6-bit ADPCM not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x74 - DMA DAC, 2.6-bit ADPCM not"
+ " implemented\n");
break;
case 0x77: /* DMA DAC, 2.6-bit ADPCM Reference */
s->needed_bytes = 2;
- dolog ("0x74 - DMA DAC, 2.6-bit ADPCM Reference not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x74 - DMA DAC, 2.6-bit ADPCM Reference"
+ " not implemented\n");
break;
case 0x7d:
- dolog ("0x7d - Autio-Initialize DMA DAC, 4-bit ADPCM Reference\n");
- dolog ("not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x7d - Autio-Initialize DMA DAC, 4-bit"
+ " ADPCM Reference\n");
+ qemu_log_mask(LOG_UNIMP, "not implemented\n");
break;
case 0x7f:
- dolog (
- "0x7d - Autio-Initialize DMA DAC, 2.6-bit ADPCM Reference\n"
- );
- dolog ("not implemented\n");
+ qemu_log_mask(LOG_UNIMP, "0x7d - Autio-Initialize DMA DAC, 2.6-bit"
+ " ADPCM Reference\n");
+ qemu_log_mask(LOG_UNIMP, "not implemented\n");
break;
case 0x80:
break;
case 0xe7:
- dolog ("Attempt to probe for ESS (0xe7)?\n");
+ qemu_log_mask(LOG_UNIMP, "Attempt to probe for ESS (0xe7)?\n");
break;
case 0xe8: /* read test reg */
goto warn;
default:
- dolog ("Unrecognized command %#x\n", cmd);
+ qemu_log_mask(LOG_UNIMP, "Unrecognized command %#x\n", cmd);
break;
}
}
return;
warn:
- dolog ("warning: command %#x,%d is not truly understood yet\n",
- cmd, s->needed_bytes);
+ qemu_log_mask(LOG_UNIMP, "warning: command %#x,%d is not truly understood"
+ " yet\n", cmd, s->needed_bytes);
goto exit;
}
break;
case 0x42: /* FT2 sets output freq with this, go figure */
-#if 0
- dolog ("cmd 0x42 might not do what it think it should\n");
-#endif
+ qemu_log_mask(LOG_UNIMP, "cmd 0x42 might not do what it think it"
+ " should\n");
case 0x41:
s->freq = dsp_get_hilo (s);
ldebug ("set freq %d\n", s->freq);
break;
default:
- dolog ("complete: unrecognized command %#x\n", s->cmd);
+ qemu_log_mask(LOG_UNIMP, "complete: unrecognized command %#x\n",
+ s->cmd);
return;
}
}
dma = ctz32 (val & 0xf);
hdma = ctz32 (val & 0xf0);
if (dma != s->dma || hdma != s->hdma) {
- dolog (
- "attempt to change DMA "
- "8bit %d(%d), 16bit %d(%d) (val=%#x)\n",
- dma, s->dma, hdma, s->hdma, val);
+ qemu_log_mask(LOG_GUEST_ERROR, "attempt to change DMA 8bit"
+ " %d(%d), 16bit %d(%d) (val=%#x)\n", dma, s->dma,
+ hdma, s->hdma, val);
}
#if 0
s->dma = dma;
break;
case 0x82:
- dolog ("attempt to write into IRQ status register (val=%#x)\n",
- val);
+ qemu_log_mask(LOG_GUEST_ERROR, "attempt to write into IRQ status"
+ " register (val=%#x)\n", val);
return;
default:
int till, copy, written, free;
if (s->block_size <= 0) {
- dolog ("invalid block size=%d nchan=%d dma_pos=%d dma_len=%d\n",
- s->block_size, nchan, dma_pos, dma_len);
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid block size=%d nchan=%d"
+ " dma_pos=%d dma_len=%d\n", s->block_size, nchan,
+ dma_pos, dma_len);
return dma_pos;
}
reset_mixer (s);
s->aux_ts = timer_new_ns(QEMU_CLOCK_VIRTUAL, aux_timer, s);
if (!s->aux_ts) {
- dolog ("warning: Could not create auxiliary timer\n");
+ error_setg(errp, "warning: Could not create auxiliary timer");
}
isa_register_portio_list(isadev, &s->portio_list, s->port,