The current model of loader copy "rom blobs" and kept in memory until a reset
occurs and waste host memory.

This serial of patches uses private reset handlers to load uimage/initrd/vmlinux
from hard disk on reset, which could make loader framework more dynamic and 
reduce the memory consumption of QEMU process.

Olivia Yin (4):
  use image_file_reset to reload initrd
  use uimage_reset to reload uimage
  use elf_reset to reload elf image
  free rom->data when rom_reset

 elf.h        |   10 +++++
 hw/elf_ops.h |   44 ++++++++++++++++++++---
 hw/loader.c  |  114 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 hw/loader.h  |   12 ++++++
 4 files changed, 158 insertions(+), 22 deletions(-)

v6:
patch 3/4: load symbol only when startup

v5: 
patch 2/4: remove global variables is_linux and kernel_loaded.
patch 3/4: register reset handlers in loader.c for elf images.
           extract the duplicated source code into function elf_phy_loader().
patch 4/4: fix the issue of memory increasing (about 1.4MB) once reload elf 
image.

v4: fix elf reload and register reset handler in hw/elf_ops.h

v3: reload elf

v2: Rename target_phys_addr_t to hwaddr

v1: support uimage/initrd reload


Reply via email to