]> Git Repo - qemu.git/commit
Save memory allocation in the elf loader
authorFabien Chouteau <[email protected]>
Tue, 19 Feb 2013 04:41:11 +0000 (04:41 +0000)
committerAlexander Graf <[email protected]>
Fri, 8 Mar 2013 20:04:52 +0000 (21:04 +0100)
commitd60fa42e8bae39440f997ebfe8fe328269a57d16
tree23e40a2deb58d4dac1c90bb75d3b5e3660746dd9
parent6bbd5dde9a10520eb069c4bff9f2e34b96b1cfee
Save memory allocation in the elf loader

The current elf loader uses too much memory. For example, I have a
executable with a bss section of 400 MB and I set the ram size to 512
MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at
1.6 GB during initialization (this is not fine).

This patch fixes two things:
 1) do not allocate each elf program twice.
 2) do not allocate memory for areas that are only zeros.

For this we need a new field in Rom: "datasize" which is the size of the
allocated data. If datasize is less than romsize, it means that the area
from datasize to romsize is filled with zeros.

Signed-off-by: Fabien Chouteau <[email protected]>
Signed-off-by: Alexander Graf <[email protected]>
hw/elf_ops.h
hw/loader.c
hw/loader.h
This page took 0.025839 seconds and 4 git commands to generate.