]> git.ipfire.org Git - thirdparty/qemu.git/commit
optionrom: add a DMA-enabled multiboot ROM
authorMarcus Hähnel <marcus.haehnel@kernkonzept.com>
Wed, 20 Oct 2021 12:55:04 +0000 (14:55 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 2 Nov 2021 14:57:27 +0000 (15:57 +0100)
commit48972f8cad24eb4462c97ea68003e2dd35be0444
tree6381678103fc9d67e5247006b31c218828a39eda
parentf014c974595a1e3482c6afb57557a6e479b80328
optionrom: add a DMA-enabled multiboot ROM

Add a new option rom for the multiboot loader, using DMA transfers to copy
data instead of "rep insb".

This significantly lowers QEMU's startup latency by a factor of about 40,
for example, going from 30sec to 0.8sec when loading modules of 120MB
in size.

Signed-off-by: Marcus Hähnel <marcus.haehnel@kernkonzept.com>
Signed-off-by: Adam Lackorzynski <adam@l4re.org>
[Modified to keep the non-DMA code depending on #ifdef USE_FW_CFG_DMA;
 do not write below stack. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
pc-bios/meson.build
pc-bios/multiboot_dma.bin [new file with mode: 0644]
pc-bios/optionrom/Makefile
pc-bios/optionrom/multiboot.S
pc-bios/optionrom/multiboot_dma.S [new file with mode: 0644]
pc-bios/optionrom/optionrom.h