Work done by Gerd Hoffmann for ARM. Extended to be used in x86 platforms These patches, with the support in SeaBIOS (patches in the SeaBIOS mailing list) make the Linux kernel setup and boot approximately 10x faster.
TODO: * Optimizations. For example, use memcpy instead of a loop if the transaction is big * Is 0xfef00000 a good address? Is there any better address? Is it possible to not make it hardcoded (and can be read by the BIOS)? * Maybe have both DMA and IO interfaces enabled, to improve compatibility? Gabriel L. Somlo (1): fw_cfg: document fw_cfg_modify_iXX() update functions Gerd Hoffmann (4): fw_cfg dma interface fw_cfg dma: adapt to vmstate changes enable fw_cfg dma for arm virt fw_cfg file sort Marc Marí (2): Add offset register to fw_cfg DMA interface fw_cfg DMA for x86 docs/specs/fw_cfg.txt | 52 ++++++++++++ hw/arm/virt.c | 11 ++- hw/i386/pc.c | 21 ++++- hw/i386/pc_piix.c | 25 +++++- hw/i386/pc_q35.c | 26 +++++- hw/nvram/fw_cfg.c | 199 +++++++++++++++++++++++++++++++++++++++++++--- include/hw/i386/pc.h | 1 + include/hw/nvram/fw_cfg.h | 5 +- 8 files changed, 318 insertions(+), 22 deletions(-) -- 2.4.3