diff options
author | Marcus Hähnel <marcus.haehnel@kernkonzept.com> | 2021-10-20 14:55:04 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-11-02 15:57:27 +0100 |
commit | 48972f8cad24eb4462c97ea68003e2dd35be0444 (patch) | |
tree | 6381678103fc9d67e5247006b31c218828a39eda /pc-bios/optionrom/multiboot_dma.S | |
parent | f014c974595a1e3482c6afb57557a6e479b80328 (diff) |
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>
Diffstat (limited to 'pc-bios/optionrom/multiboot_dma.S')
-rw-r--r-- | pc-bios/optionrom/multiboot_dma.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/pc-bios/optionrom/multiboot_dma.S b/pc-bios/optionrom/multiboot_dma.S new file mode 100644 index 0000000000..d809af3e23 --- /dev/null +++ b/pc-bios/optionrom/multiboot_dma.S @@ -0,0 +1,2 @@ +#define USE_FW_CFG_DMA 1 +#include "multiboot.S" |