pthreads-based audio and miscellaneous audio clean-up (malc).

ESD support (malc, Frederick Reeve).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3917 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
balrog 2008-01-14 04:24:29 +00:00
parent b34d259a81
commit ca9cc28c62
15 changed files with 883 additions and 54 deletions

View file

@ -439,6 +439,13 @@ static void dma_reset(void *opaque)
write_cont (d, (0x0d << d->dshift), 0);
}
static int dma_phony_handler (void *opaque, int nchan, int dma_pos, int dma_len)
{
dolog ("unregistered DMA channel used nchan=%d dma_pos=%d dma_len=%d\n",
nchan, dma_pos, dma_len);
return dma_pos;
}
/* dshift = 0: 8 bit DMA, 1 = 16 bit DMA */
static void dma_init2(struct dma_cont *d, int base, int dshift,
int page_base, int pageh_base)
@ -471,6 +478,9 @@ static void dma_init2(struct dma_cont *d, int base, int dshift,
}
qemu_register_reset(dma_reset, d);
dma_reset(d);
for (i = 0; i < LENOFA (d->regs); ++i) {
d->regs[i].transfer_handler = dma_phony_handler;
}
}
static void dma_save (QEMUFile *f, void *opaque)

View file

@ -1193,6 +1193,12 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len)
SB16State *s = opaque;
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);
return dma_pos;
}
if (s->left_till_irq < 0) {
s->left_till_irq = s->block_size;
}