hw/audio/sb16.c: Convert file to new logging API
PATCH 1/1 hw/audio/sb16.c: Convert file to new logging API
Use the qemu_log_mask() function to log messages.
--- hw/audio/sb16.c | 221 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 112 insertions(+), 109 deletions(-)
hw/audio/sb16.c +112 -109
@@ -29,18 +29,12 @@#include "hw/qdev.h" #include "qemu/timer.h" #include "qemu/host-utils.h" +#include "qemu/log.h" -#define dolog (...) AUD_log ("sb16", __VA_ARGS__)/* #define DEBUG */ /* #define DEBUG_SB16_MOST */ -#ifdef DEBUG -#define ldebug (...) dolog (__VA_ARGS__) -#else -#define ldebug (...) -#endif -static const char e3[] ="COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992." ;#define TYPE_SB16 "sb16"
@@ -123,7 +117,7 @@ static int magic_of_irq (int irq)case 10 :return 8 ;default : -dolog ("bad irq %d\n" , irq); +qemu_log_mask (LOG_UNIMP ,"bad irq %d\n" , irq);return 2 ; } }
@@ -140,7 +134,7 @@ static int irq_of_magic (int magic)case 8 :return 10 ;default : -dolog ("bad irq magic %d\n" , magic); +qemu_log_mask (LOG_UNIMP ,"bad irq magic %d\n" , magic);return -1 ; } }
@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); +qemu_log_mask (LOG_UNIMP ,"%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" +"speaker=%d\n" , + dsp->fmt_stereo ?"Stereo" :"Mono" , + dsp->fmt_signed ?"Signed" :"Unsigned" , + dsp->fmt_bits, + dsp->dma_auto ?"Auto" :"Single" , + dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif
@@ -173,7 +168,8 @@ static void control (SB16State *s, int hold)IsaDmaClass *k =ISADMA_GET_CLASS (isa_dma); s->dma_running = hold; -ldebug ("hold %d high %d dma %d\n" , hold, s->use_hdma, dma); +qemu_log_mask (LOG_UNIMP ,"hold %d high %d dma %d\n" , hold, s->use_hdma, + dma);if (hold) { k->hold_DREQ (isa_dma, dma);
@@ -258,14 +254,14 @@ static void dma_cmd8 (SB16State *s, int mask, int dma_len) 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_UNIMP ,"warning: misaligned block size %d, alignment" +" %d\n" , s->block_size, s->align +1 ); } -ldebug ("freq %d, stereo %d, sign %d, bits %d, " -"dma %d, auto %d, fifo %d, high %d\n" , - s->freq, s->fmt_stereo, s->fmt_signed, s->fmt_bits, - s->block_size, s->dma_auto, s->fifo, s->highspeed); +qemu_log_mask (LOG_UNIMP ,"freq %d, stereo %d, sign %d, bits %d, " +"dma %d, auto %d, fifo %d, high %d\n" , + s->freq, s->fmt_stereo, s->fmt_signed, s->fmt_bits, + s->block_size, s->dma_auto, s->fifo, s->highspeed);continue_dma8 (s);speaker (s,1 );
@@ -310,10 +306,10 @@ static void dma_cmd (SB16State *s, uint8_t cmd, uint8_t d0, int dma_len) s->block_size <<= s->fmt_stereo; } -ldebug ("freq %d, stereo %d, sign %d, bits %d, " -"dma %d, auto %d, fifo %d, high %d\n" , - s->freq, s->fmt_stereo, s->fmt_signed, s->fmt_bits, - s->block_size, s->dma_auto, s->fifo, s->highspeed); +qemu_log_mask (LOG_UNIMP ,"freq %d, stereo %d, sign %d, bits %d, " +"dma %d, auto %d, fifo %d, high %d\n" , + s->freq, s->fmt_stereo, s->fmt_signed, s->fmt_bits, + s->block_size, s->dma_auto, s->fifo, s->highspeed);if (16 == s->fmt_bits) {if (s->fmt_signed) {
@@ -338,8 +334,8 @@ static void dma_cmd (SB16State *s, uint8_t cmd, uint8_t d0, int dma_len) 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_UNIMP ,"warning: misaligned block size %d, alignment" +" %d\n" , s->block_size, s->align +1 ); }if (s->freq) {
@@ -368,7 +364,7 @@ static void dma_cmd (SB16State *s, uint8_t cmd, uint8_t d0, int dma_len)static inline void dsp_out_data (SB16State *s,uint8_t val) { -ldebug ("outdata %#x\n" , val); +qemu_log_mask (LOG_UNIMP ,"outdata %#x\n" , val);if ((size_t ) s->out_data_len <sizeof (s->out_data)) { s->out_data[s->out_data_len++] = val; }
@@ -380,18 +376,19 @@ static inline uint8_t dsp_get_data (SB16State *s)return s->in2_data[--s->in_index]; }else { -dolog ("buffer underflow\n" ); +qemu_log_mask (LOG_UNIMP ,"buffer underflow\n" );return 0 ; } }static void command (SB16State *s,uint8_t cmd) { -ldebug ("command %#x\n" , cmd); +qemu_log_mask (LOG_UNIMP ,"command %#x\n" , cmd);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 ) {
@@ -399,7 +396,7 @@ static void command (SB16State *s, uint8_t cmd)case 12 :break ;default : -dolog ("%#x wrong bits\n" , cmd); +qemu_log_mask (LOG_UNIMP ,"%#x wrong bits\n" , cmd); } s->needed_bytes =3 ; }
@@ -453,7 +450,7 @@ static void command (SB16State *s, uint8_t cmd) 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 :
@@ -487,34 +484,37 @@ static void command (SB16State *s, uint8_t cmd)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\nnot implemented\n" );break ;case 0x80 :
@@ -586,7 +586,7 @@ static void command (SB16State *s, uint8_t cmd)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 */
@@ -613,13 +613,13 @@ static void command (SB16State *s, uint8_t cmd) goto warn;default : -dolog ("Unrecognized command %#x\n" , cmd); +qemu_log_mask (LOG_UNIMP ,"Unrecognized command %#x\n" , cmd);break ; } }if (!s->needed_bytes) { -ldebug ("\n" ); +qemu_log_mask (LOG_UNIMP ,"\n" ); } exit:
@@ -632,8 +632,8 @@ static void command (SB16State *s, uint8_t cmd)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; }
@@ -655,8 +655,8 @@ static uint16_t dsp_get_hilo (SB16State *s)static void complete (SB16State *s) {int d0, d1, d2; -ldebug ("complete command %#x, in_index %d, needed_bytes %d\n" , - s->cmd, s->in_index, s->needed_bytes); +qemu_log_mask (LOG_UNIMP ,"complete command %#x, in_index %d, needed_bytes" +" %d\n" , s->cmd, s->in_index, s->needed_bytes);if (s->cmd >0xaf && s->cmd <0xd0 ) { d2 =dsp_get_data (s);
@@ -664,12 +664,12 @@ static void complete (SB16State *s) d0 =dsp_get_data (s);if (s->cmd &8 ) { -dolog ("ADC params cmd = %#x d0 = %d, d1 = %d, d2 = %d\n" , - s->cmd, d0, d1, d2); +qemu_log_mask (LOG_UNIMP ,"ADC params cmd = %#x d0 = %d, d1 = %d," +" d2 = %d\n" , s->cmd, d0, d1, d2); }else { -ldebug ("cmd = %#x d0 = %d, d1 = %d, d2 = %d\n" , - s->cmd, d0, d1, d2); +qemu_log_mask (LOG_UNIMP ,"cmd = %#x d0 = %d, d1 = %d, d2 = %d\n" , + s->cmd, d0, d1, d2);dma_cmd (s, s->cmd, d0, d1 + (d2 <<8 )); } }
@@ -679,23 +679,24 @@ static void complete (SB16State *s) s->csp_mode =dsp_get_data (s); s->csp_reg83r =0 ; s->csp_reg83w =0 ; -ldebug ("CSP command 0x04: mode=%#x\n" , s->csp_mode); +qemu_log_mask (LOG_UNIMP ,"CSP command 0x04: mode=%#x\n" , + s->csp_mode);break ;case 0x05 : s->csp_param =dsp_get_data (s); s->csp_value =dsp_get_data (s); -ldebug ("CSP command 0x05: param=%#x value=%#x\n" , - s->csp_param, - s->csp_value); +qemu_log_mask (LOG_UNIMP ,"CSP command 0x05: param=%#x value=%#x\n" , + s->csp_param, s->csp_value);break ;case 0x0e : d0 =dsp_get_data (s); d1 =dsp_get_data (s); -ldebug ("write CSP register %d <- %#x\n" , d1, d0); +qemu_log_mask (LOG_UNIMP ,"write CSP register %d <- %#x\n" , d1, d0);if (d1 ==0x83 ) { -ldebug ("0x83[%d] <- %#x\n" , s->csp_reg83r, d0); +qemu_log_mask (LOG_UNIMP ,"0x83[%d] <- %#x\n" , s->csp_reg83r, + d0); s->csp_reg83[s->csp_reg83r %4 ] = d0; s->csp_reg83r +=1 ; }
@@ -706,12 +707,11 @@ static void complete (SB16State *s)case 0x0f : d0 =dsp_get_data (s); -ldebug ("read CSP register %#x -> %#x, mode=%#x\n" , - d0, s->csp_regs[d0], s->csp_mode); +qemu_log_mask (LOG_UNIMP ,"read CSP register %#x -> %#x, mode=%#x\n" , + d0, s->csp_regs[d0], s->csp_mode);if (d0 ==0x83 ) { -ldebug ("0x83[%d] -> %#x\n" , - s->csp_reg83w, - s->csp_reg83[s->csp_reg83w %4 ]); +qemu_log_mask (LOG_UNIMP ,"0x83[%d] -> %#x\n" , + s->csp_reg83w, s->csp_reg83[s->csp_reg83w %4 ]);dsp_out_data (s, s->csp_reg83[s->csp_reg83w %4 ]); s->csp_reg83w +=1 ; }
@@ -722,7 +722,7 @@ static void complete (SB16State *s)case 0x10 : d0 =dsp_get_data (s); -dolog ("cmd 0x10 d0=%#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"cmd 0x10 d0=%#x\n" , d0);break ;case 0x14 :
@@ -731,21 +731,22 @@ static void complete (SB16State *s)case 0x40 : s->time_const =dsp_get_data (s); -ldebug ("set time const %d\n" , s->time_const); +qemu_log_mask (LOG_UNIMP ,"set time const %d\n" , s->time_const);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" ); +qemu_log_mask (LOG_UNIMP ,"cmd 0x42 might not do what it think it" +" should\n" );#endif case 0x41 : s->freq =dsp_get_hilo (s); -ldebug ("set freq %d\n" , s->freq); +qemu_log_mask (LOG_UNIMP ,"set freq %d\n" , s->freq);break ;case 0x48 : s->block_size =dsp_get_lohi (s) +1 ; -ldebug ("set dma block len %d\n" , s->block_size); +qemu_log_mask (LOG_UNIMP ,"set dma block len %d\n" , s->block_size);break ;case 0x74 :
@@ -775,21 +776,22 @@ static void complete (SB16State *s) ); } } -ldebug ("mix silence %d %d %" PRId64"\n" , samples, bytes, ticks); +qemu_log_mask (LOG_UNIMP ,"mix silence %d %d %" PRId64"\n" , + samples, bytes, ticks); }break ;case 0xe0 : d0 =dsp_get_data (s); s->out_data_len =0 ; -ldebug ("E0 data = %#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"E0 data = %#x\n" , d0);dsp_out_data (s, ~d0);break ;case 0xe2 :#ifdef DEBUG d0 =dsp_get_data (s); -dolog ("E2 = %#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"E2 = %#x\n" , d0);#endif break ;
@@ -799,7 +801,7 @@ static void complete (SB16State *s)case 0xf9 : d0 =dsp_get_data (s); -ldebug ("command 0xf9 with %#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"command 0xf9 with %#x\n" , d0);switch (d0) {case 0x0e :dsp_out_data (s,0xff );
@@ -820,12 +822,13 @@ static void complete (SB16State *s)break ;default : -dolog ("complete: unrecognized command %#x\n" , s->cmd); +qemu_log_mask (LOG_UNIMP ,"complete: unrecognized command %#x\n" , + s->cmd);return ; } } -ldebug ("\n" ); +qemu_log_mask (LOG_UNIMP ,"\n" ); s->cmd =-1 ; }
@@ -889,7 +892,7 @@ static void dsp_write(void *opaque, uint32_t nport, uint32_t val) iport = nport - s->port; -ldebug ("write %#x <- %#x\n" , nport, val); +qemu_log_mask (LOG_UNIMP ,"write %#x <- %#x\n" , nport, val);switch (iport) {case 0x06 :switch (val) {
@@ -939,7 +942,7 @@ static void dsp_write(void *opaque, uint32_t nport, uint32_t val) }else {if (s->in_index ==sizeof (s->in2_data)) { -dolog ("in data overrun\n" ); +qemu_log_mask (LOG_UNIMP ,"in data overrun\n" ); }else { s->in2_data[s->in_index++] = val;
@@ -955,7 +958,7 @@ static void dsp_write(void *opaque, uint32_t nport, uint32_t val)break ;default : -ldebug ("(nport=%#x, val=%#x)\n" , nport, val); +qemu_log_mask (LOG_UNIMP ,"(nport=%#x, val=%#x)\n" , nport, val);break ; } }
@@ -979,8 +982,8 @@ static uint32_t dsp_read(void *opaque, uint32_t nport) }else {if (s->cmd !=-1 ) { -dolog ("empty output buffer for command %#x\n" , - s->cmd); +qemu_log_mask (LOG_UNIMP ,"empty output buffer for command" +" %#x\n" , s->cmd); } retval = s->last_read_byte;/* goto error; */
@@ -992,7 +995,7 @@ static uint32_t dsp_read(void *opaque, uint32_t nport)break ;case 0x0d :/* timer interrupt clear */ -/* dolog ("timer interrupt clear\n"); */ +/* qemu_log_mask(LOG_UNIMP, "timer interrupt clear\n"); */ retval =0 ;break ;
@@ -1019,13 +1022,13 @@ static uint32_t dsp_read(void *opaque, uint32_t nport) }if (!ack) { -ldebug ("read %#x -> %#x\n" , nport, retval); +qemu_log_mask (LOG_UNIMP ,"read %#x -> %#x\n" , nport, retval); }return retval; error: -dolog ("warning: dsp_read %#x error\n" , nport); +qemu_log_mask (LOG_UNIMP ,"warning: dsp_read %#x error\n" , nport);return 0xff ; }
@@ -1071,7 +1074,7 @@ static void mixer_write_datab(void *opaque, uint32_t nport, uint32_t val)SB16State *s = opaque; (void ) nport; -ldebug ("mixer_write [%#x] <- %#x\n" , s->mixer_nreg, val); +qemu_log_mask (LOG_UNIMP ,"mixer_write [%#x] <- %#x\n" , s->mixer_nreg, val);switch (s->mixer_nreg) {case 0x00 :
@@ -1081,7 +1084,7 @@ static void mixer_write_datab(void *opaque, uint32_t nport, uint32_t val)case 0x80 : {int irq =irq_of_magic (val); -ldebug ("setting irq to %d (val=%#x)\n" , irq, val); +qemu_log_mask (LOG_UNIMP ,"setting irq to %d (val=%#x)\n" , irq, val);if (irq >0 ) { s->irq = irq; }
@@ -1095,10 +1098,9 @@ static void mixer_write_datab(void *opaque, uint32_t nport, uint32_t val) 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_UNIMP ,"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;
@@ -1108,13 +1110,14 @@ static void mixer_write_datab(void *opaque, uint32_t nport, uint32_t val)break ;case 0x82 : -dolog ("attempt to write into IRQ status register (val=%#x)\n" , - val); +qemu_log_mask (LOG_UNIMP ,"attempt to write into IRQ status register" +" (val=%#x)\n" , val);return ;default :if (s->mixer_nreg >=0x80 ) { -ldebug ("attempt to write mixer[%#x] <- %#x\n" , s->mixer_nreg, val); +qemu_log_mask (LOG_UNIMP ,"attempt to write mixer[%#x] <- %#x\n" , + s->mixer_nreg, val); }break ; }
@@ -1129,12 +1132,12 @@ static uint32_t mixer_read(void *opaque, uint32_t nport) (void ) nport;#ifndef DEBUG_SB16_MOST if (s->mixer_nreg !=0x82 ) { -ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , s->mixer_nreg, + s->mixer_regs[s->mixer_nreg]); }#else -ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , + s->mixer_nreg, s->mixer_regs[s->mixer_nreg]);#endif return s->mixer_regs[s->mixer_nreg]; }
@@ -1181,8 +1184,8 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len)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_UNIMP ,"invalid block size=%d nchan=%d dma_pos=%d" +" dma_len=%d\n" , s->block_size, nchan, dma_pos, dma_len);return dma_pos; }
@@ -1204,8 +1207,8 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) till = s->left_till_irq;#ifdef DEBUG_SB16_MOST -dolog ("pos:%06d %d till:%d len:%d\n" , - dma_pos, free, till, dma_len); +qemu_log_mask (LOG_UNIMP ,"pos:%06d %d till:%d len:%d\n" , dma_pos, free, + till, dma_len);#endif if (till <= copy) {
@@ -1228,9 +1231,9 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) }#ifdef DEBUG_SB16_MOST -ldebug ("pos %5d free %5d size %5d till % 5d copy %5d written %5d size %5d\n" , - dma_pos, free, dma_len, s->left_till_irq, copy, written, - s->block_size); +qemu_log_mask (LOG_UNIMP ,"pos %5d free %5d size %5d till % 5d copy %5d" +" written %5d size %5d\n" , dma_pos, free, dma_len, + s->left_till_irq, copy, written, s->block_size);#endif while (s->left_till_irq <=0 ) {
@@ -1376,7 +1379,7 @@ static void sb16_realizefn (DeviceState *dev, Error **errp)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" ); +qemu_log_mask (LOG_UNIMP ,"warning: Could not create auxiliary timer\n" ); } isa_register_portio_list(isadev, &s->portio_list, s->port,
Signature · 1 line
2.14.3 (Apple Git-98)
Quoted 15 lines
hw/audio/sb16.c +2
-9@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); + qemu_log_mask(LOG_UNIMP, "%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" + "speaker=%d\n",
hw/audio/sb16.c static int irq_of_magic (int magic) · line 156
Quoted 10 lines
hw/audio/sb16.c +8
-0+ dsp->fmt_stereo ?"Stereo" :"Mono" , + dsp->fmt_signed ?"Signed" :"Unsigned" , + dsp->fmt_bits, + dsp->dma_auto ?"Auto" :"Single" , + dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif
Hmm, dead code. Any places which call log_dsp() ?
hw/audio/sb16.c static void complete (SB16State *s) · line 741
Quoted 6 lines
hw/audio/sb16.c +0
-0case 0x42 :/* FT2 sets output freq with this, go figure */ #if 0
hw/audio/sb16.c +2
-1-dolog ("cmd 0x42 might not do what it think it should\n" ); +qemu_log_mask (LOG_UNIMP ,"cmd 0x42 might not do what it think it" +" should\n" );#endif
More dead code.
hw/audio/sb16.c static void complete (SB16State *s) · line 795
Quoted 6 lines
case 0xe2: #ifdef DEBUG d0 = dsp_get_data (s);hw/audio/sb16.c +1
-1-dolog ("E2 = %#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"E2 = %#x\n" , d0);#endif
Conditional code. Enable this unconditionally, now that we can switch the logging at runtime?
hw/audio/sb16.c static uint32_t mixer_read(void *opaque, uint32_t nport) · line 1141
Quoted 13 lines
#ifndef DEBUG_SB16_MOST if (s->mixer_nreg != 0x82) {hw/audio/sb16.c +4
-4-ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , s->mixer_nreg, + s->mixer_regs[s->mixer_nreg]); }#else -ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , + s->mixer_nreg, s->mixer_regs[s->mixer_nreg]);#endif
Same question here.
hw/audio/sb16.c static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) · line 1212
Quoted 6 lines
#ifdef
DEBUG_SB16_MOSThw/audio/sb16.c +2
-2-dolog ("pos:%06d %d till:%d len:%d\n" , - dma_pos, free, till, dma_len); +qemu_log_mask (LOG_UNIMP ,"pos:%06d %d till:%d len:%d\n" , dma_pos, free, + till, dma_len);#endif
And here.
hw/audio/sb16.c static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) · line 1237
Quoted 8 lines
#ifdef
DEBUG_SB16_MOSThw/audio/sb16.c +3
-3-ldebug ("pos %5d free %5d size %5d till % 5d copy %5d written %5d size %5d\n" , - dma_pos, free, dma_len, s->left_till_irq, copy, written, - s->block_size); +qemu_log_mask (LOG_UNIMP ,"pos %5d free %5d size %5d till % 5d copy %5d" +" written %5d size %5d\n" , dma_pos, free, dma_len, + s->left_till_irq, copy, written, s->block_size);#endif
Again.
cheers,
Gerd
Quoted 22 lines · Gerd Hoffmann
Quoted 20 lines
hw/audio/sb16.c +6
-9@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); + qemu_log_mask(LOG_UNIMP, "%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" + "speaker=%d\n", + dsp->fmt_stereo ? "Stereo" : "Mono", + dsp->fmt_signed ? "Signed" : "Unsigned", + dsp->fmt_bits, + dsp->dma_auto ? "Auto" : "Single",
Quoted 8 lines
hw/audio/sb16.c static int irq_of_magic (int magic) · line 156
Quoted 6 lines
hw/audio/sb16.c +4
-0+ dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif Hmm, dead code. Any places which call
log_dsp()?
There are several places but they are all dead code. Do you want this removed?
Quoted 9 lines
Quoted 7 lines
hw/audio/sb16.c +0
-0case 0x42 :/* FT2 sets output freq with this, go figure */ #if 0
hw/audio/sb16.c +2
-1-dolog ("cmd 0x42 might not do what it think it should\n" ); +qemu_log_mask (LOG_UNIMP ,"cmd 0x42 might not do what it think it" +" should\n" );#endif
More dead code.
Would you like this enabled or removed?
Quoted 25 lines
Quoted 7 lines
case 0xe2: #ifdef DEBUG d0 = dsp_get_data (s);hw/audio/sb16.c +1
-1-dolog ("E2 = %#x\n" , d0); +qemu_log_mask (LOG_UNIMP ,"E2 = %#x\n" , d0);#endif
Conditional code. Enable this unconditionally, now that we can switch the logging at runtime?
Quoted 12 lines
#ifndef DEBUG_SB16_MOST if (s->mixer_nreg != 0x82) {hw/audio/sb16.c +2
-2-ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , s->mixer_nreg, + s->mixer_regs[s->mixer_nreg]); }#else
hw/audio/sb16.c +2
-2-ldebug ("mixer_read[%#x] -> %#x\n" , - s->mixer_nreg, s->mixer_regs[s->mixer_nreg]); +qemu_log_mask (LOG_UNIMP ,"mixer_read[%#x] -> %#x\n" , + s->mixer_nreg, s->mixer_regs[s->mixer_nreg]);Quoted 1 line
#endif
Quoted 1 line
Same question here.
You want all of this enabled?
Quoted 19 lines
Quoted 7 lines
#ifdef
DEBUG_SB16_MOSThw/audio/sb16.c +2
-2-dolog ("pos:%06d %d till:%d len:%d\n" , - dma_pos, free, till, dma_len); +qemu_log_mask (LOG_UNIMP ,"pos:%06d %d till:%d len:%d\n" , dma_pos, free, + till, dma_len);#endif
And here.
Quoted 8 lines
#ifdef
DEBUG_SB16_MOSThw/audio/sb16.c +3
-3-ldebug ("pos %5d free %5d size %5d till % 5d copy %5d written %5d size %5d\n" , - dma_pos, free, dma_len, s->left_till_irq, copy, written, - s->block_size); +qemu_log_mask (LOG_UNIMP ,"pos %5d free %5d size %5d till % 5d copy %5d" +" written %5d size %5d\n" , dma_pos, free, dma_len, + s->left_till_irq, copy, written, s->block_size);#endif
Quoted 4 lines
Again.
cheers,
Gerd
Thank you.
Quoted 31 lines · Programmingkid
Quoted 22 lines · Gerd Hoffmann
Quoted 20 lines
hw/audio/sb16.c +6
-9@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); + qemu_log_mask(LOG_UNIMP, "%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" + "speaker=%d\n", + dsp->fmt_stereo ? "Stereo" : "Mono", + dsp->fmt_signed ? "Signed" : "Unsigned", + dsp->fmt_bits, + dsp->dma_auto ? "Auto" : "Single",Quoted 8 lines
hw/audio/sb16.c static int irq_of_magic (int magic) · line 156
Quoted 6 lines
hw/audio/sb16.c +4
-0+ dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif Hmm, dead code. Any places which call
log_dsp()?
Quoted 1 line
There are several places but they are all dead code. Do you want this removed?
So it is still used but not compiled in by default.
Looking at all of this again, I think "qemu_log_mask(LOG_UNIMP, ...)" should only be used in case there *really* is some soundblaster feature unimplemented. Otherwise converting to a tracepoint is probably more useful, so the debug messages can be enabled/disabled individually at runtime.
The "#if 0" seems to be there to limit the flood of debug messages. So once they all are converted to trace points this is not needed any more and I think we should just enable all this code.
dolog() seems to be mostly cases where the code warns about unimplemented featues or incomplete emulation, so using LOG_UNIMP looks sensible.
ldebug() should probably trace points.
Probably makes sense to split this patch up into a small series.
cheers,
Gerd
Quoted 45 lines · Gerd Hoffmann
Quoted 31 lines · Programmingkid
Quoted 22 lines · Gerd Hoffmann
Quoted 20 lines
hw/audio/sb16.c +6
-9@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); + qemu_log_mask(LOG_UNIMP, "%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" + "speaker=%d\n", + dsp->fmt_stereo ? "Stereo" : "Mono", + dsp->fmt_signed ? "Signed" : "Unsigned", + dsp->fmt_bits, + dsp->dma_auto ? "Auto" : "Single",Quoted 8 lines
hw/audio/sb16.c static int irq_of_magic (int magic) · line 156
Quoted 6 lines
hw/audio/sb16.c +4
-0+ dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif Hmm, dead code. Any places which call
log_dsp()?Quoted 1 line
There are several places but they are all dead code. Do you want this removed?
So it is still used but not compiled in by default.
Looking at all of this again, I think "
qemu_log_mask(LOG_UNIMP, ...)" should only be used in case there *really* is some soundblaster feature unimplemented. Otherwise converting to a tracepoint is probably more useful, so the debug messages can be enabled/disabled individually at runtime.
Quoted 7 lines
The "#if 0" seems to be there to limit the flood of debug messages. So once they all are converted to trace points this is not needed any more and I think we should just enable all this code.
dolog()seems to be mostly cases where the code warns about unimplemented featues or incomplete emulation, so usingLOG_UNIMPlooks sensible.
Simply replacing dolog() with "qemu_log_mask(LOG_UNIMP," seems like what was desired.
Quoted 1 line
ldebug()should probably trace points.
I need help with this. I tried replacing ldebug() with "qemu_log_mask(LOG_TRACE,", but that caused a lot of messages to be printed to the terminal. It is odd because I thought I had to use "-d trace" to make it print. Do you have another suggestion on what to replace ldebug() with?
Quoted 1 line
Probably makes sense to split this patch up into a small series.
The first patch will be the replacing dolog() with qemu_log_mask(LOG_UNIMP. The second patch will be replacing ldebug() with what you suggest.
Quoted 58 lines · Programmingkid
Quoted 46 lines · Gerd Hoffmann
Quoted 31 lines · Programmingkid
Quoted 22 lines · Gerd Hoffmann
Quoted 20 lines
hw/audio/sb16.c +6
-9@@ -148,15 +142,16 @@ static int irq_of_magic (int magic)#if 0 static void log_dsp (SB16State *dsp) { -ldebug ("%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:speaker=%d\n" , - dsp->fmt_stereo ?"Stereo" :"Mono" , - dsp->fmt_signed ?"Signed" :"Unsigned" , - dsp->fmt_bits, - dsp->dma_auto ?"Auto" :"Single" , - dsp->block_size, - dsp->freq, - dsp->time_const, - dsp->speaker); + qemu_log_mask(LOG_UNIMP, "%s:%s:%d:%s:dmasize=%d:freq=%d:const=%d:" + "speaker=%d\n", + dsp->fmt_stereo ? "Stereo" : "Mono", + dsp->fmt_signed ? "Signed" : "Unsigned", + dsp->fmt_bits, + dsp->dma_auto ? "Auto" : "Single",Quoted 8 lines
hw/audio/sb16.c static int irq_of_magic (int magic) · line 156
Quoted 6 lines
hw/audio/sb16.c +4
-0+ dsp->block_size, + dsp->freq, + dsp->time_const, + dsp->speaker); }#endif Hmm, dead code. Any places which call
log_dsp()?Quoted 1 line
There are several places but they are all dead code. Do you want this removed?
So it is still used but not compiled in by default.
Looking at all of this again, I think "
qemu_log_mask(LOG_UNIMP, ...)" should only be used in case there *really* is some soundblaster feature unimplemented. Otherwise converting to a tracepoint is probably more useful, so the debug messages can be enabled/disabled individually at runtime.Quoted 7 lines
The "#if 0" seems to be there to limit the flood of debug messages. So once they all are converted to trace points this is not needed any more and I think we should just enable all this code.
dolog()seems to be mostly cases where the code warns about unimplemented featues or incomplete emulation, so usingLOG_UNIMPlooks sensible.Simply replacing
dolog()with "qemu_log_mask(LOG_UNIMP," seems like what was desired.
Quoted 7 lines
Quoted 1 line
ldebug()should probably trace points.I need help with this. I tried replacing
ldebug()with "qemu_log_mask(LOG_TRACE,", but that caused a lot of messages to be printed to the terminal. It is odd because I thought I had to use "-d trace" to make it print. Do you have another suggestion on what to replaceldebug()with?Quoted 1 line
Probably makes sense to split this patch up into a small series.
The first patch will be the replacing
dolog()with qemu_log_mask(LOG_UNIMP. The second patch will be replacingldebug()with what you suggest.
After doing a little more research I found this code in log.c:
/* enable or disable low levels log */
void qemu_set_log(int log_flags)
{
qemu_loglevel = log_flags;
#ifdef CONFIG_TRACE_LOG
qemu_loglevel |= LOG_TRACE;#endif
It looks like no matter what the trace level that is set, LOG_TRACE will always be used. I think this might be a mistake. The configure script will set CONFIG_TRACE_LOG if the backend is log. This appears to be the default behavior. This will lead to LOG_TRACE being set in util/log.c.
Quoted 7 lines
Quoted 1 line
ldebug()should probably trace points.I need help with this. I tried replacing
ldebug()with "qemu_log_mask(LOG_TRACE,", but that caused a lot of messages to be printed to the terminal. It is odd because I thought I had to use "-d trace" to make it print. Do you have another suggestion on what to replaceldebug()with?
See docs/devel/tracing.txt
You might also have a look at commit 6aa22a29187e1908f5db738d27c64a9efc8d0bfa as example (adds some trace points to vnc code).
HTH,
Gerd