qemu/hw/audio
Philippe Mathieu-Daudé a9d8ba2be5 hw/audio/intel-hda: Use memory region alias to reduce .rodata by 4.34MB
The intel-hda model uses an array of register indexed by the
register address. This array also contains a pair of aliased
registers at offset 0x2000. This creates a huge hole in the
array, which ends up eating 4.6MiB of .rodata (size reported
on x86_64 host, building with --extra-cflags=-Os).

By using a memory region alias, we reduce this array to 132kB.

Before:

  (qemu) info mtree
    00000000febd4000-00000000febd7fff (prio 1, i/o): intel-hda

After:

  (qemu) info mtree
    00000000febd4000-00000000febd7fff (prio 1, i/o): intel-hda
    00000000febd4000-00000000febd7fff (prio 1, i/o): intel-hda-container
      00000000febd4000-00000000febd5fff (prio 0, i/o): intel-hda
      00000000febd6000-00000000febd7fff (prio 0, i/o): alias intel-hda-alias @intel-hda 0000000000000000-0000000000001fff

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 23:02:25 +01:00
..
ac97.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
adlib.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
cs4231.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
cs4231a.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
es1370.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
fmopl.c hw/audio/fmopl: Move ENV_CURVE to .heap to save 32KiB of .bss 2020-03-16 23:02:24 +01:00
fmopl.h fmops: fix off-by-one in AR_TABLE and DR_TABLE array size 2018-11-26 11:15:32 +01:00
gus.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
gusemu_hal.c fix "Missing break in switch" coverity reports 2018-08-23 13:32:50 +02:00
gusemu_mixer.c audio: GUSsample is int16_t 2017-05-04 09:16:05 +02:00
gusemu.h audio: GUSsample is int16_t 2017-05-04 09:16:05 +02:00
gustate.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
hda-codec-common.h hda-codec: make mixemu selectable at runtime 2013-09-24 10:29:34 +02:00
hda-codec.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
intel-hda-defs.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
intel-hda.c hw/audio/intel-hda: Use memory region alias to reduce .rodata by 4.34MB 2020-03-16 23:02:25 +01:00
intel-hda.h Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
Kconfig i2c: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
lm4549.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
lm4549.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
Makefile.objs audio: Move arch_init audio code to hw/audio/soundhw.c 2017-05-19 10:48:53 +02:00
marvell_88w8618.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
milkymist-ac97.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pcspk.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pl041.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pl041.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pl041.hx
sb16.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
soundhw.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
wm8750.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00