mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-25 02:52:06 -06:00
hw/audio/es1370: skip automatic zero-init of large array
The 'es1370_transfer_audio' method has a 4k byte array used for copying data between the audio backend and device. Skip the automatic zero-init of this array to eliminate the performance overhead in the I/O hot path. The 'tmpbuf' array will be fully initialized when reading data from the audio backend and/or device memory. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20250610123709.835102-10-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
ca2cc0385d
commit
8236e20608
1 changed files with 1 additions and 1 deletions
|
@ -604,7 +604,7 @@ static uint64_t es1370_read(void *opaque, hwaddr addr, unsigned size)
|
||||||
static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
|
static void es1370_transfer_audio (ES1370State *s, struct chan *d, int loop_sel,
|
||||||
int max, bool *irq)
|
int max, bool *irq)
|
||||||
{
|
{
|
||||||
uint8_t tmpbuf[4096];
|
QEMU_UNINITIALIZED uint8_t tmpbuf[4096];
|
||||||
size_t to_transfer;
|
size_t to_transfer;
|
||||||
uint32_t addr = d->frame_addr;
|
uint32_t addr = d->frame_addr;
|
||||||
int sc = d->scount & 0xffff;
|
int sc = d->scount & 0xffff;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue