qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v8 0/5] Add a generic loader


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [PATCH v8 0/5] Add a generic loader
Date: Mon, 4 Jul 2016 14:43:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

On 07/02/2016 03:07 AM, Alistair Francis wrote:
> This work is based on the original work by Li Guang with extra
> features added by Peter C and myself.
> 
> The idea of this loader is to allow the user to load multiple images
> or values into QEMU at startup.
> 
> Memory values can be loaded like this: -device 
> loader,addr=0xfd1a0104,data=0x8000000e,data-len=4
> 
> Images can be loaded like this: -device loader,file=./images/u-boot.elf,cpu=0
> 
> This can be useful and we use it a lot in Xilinx to load multiple images
> into a machine at creation (ATF, Kernel and DTB for example).
> 
> It can also be used to set registers.
> 
> This patch series makes the load_elf() function more generic by not
> requiring an architecture. It also adds a new function load_elf_as()
> which allows custom AddressSpaces when loading ELF images.
> 
> At the moment I think the AddressSpace loading support is more of an
> RFC. If people agree with the way I'm doing it I will expand the support
> to image types.


This looks valuable for s390 as well.
We have "*.ins" files that describe a list of files and its load address.
It is used to move files from the DVD in the hardware management console to
LPAR memory to bootstrap an empty lpar.

With this libvirt could parse these ins files and emulate this functionality.


> 
> V8:
>  - Allow custom AddressSpaces when loading images
>  - Move ELF architecture handling code
>  - Rebase
>  - Corrections to loading code
>  - Corrections to documentation
> V7:
>  - Fix typo in comment
>  - Rebase
> V6:
>  - Add error checking
> V5:
>  - Rebase
> V4:
>  - Re-write documentation
>  - Allow the loader to work with every architecture
>  - Move the file to hw/core
>  - Increase the maximum number of CPUs
>  - Make the CPU operations conditional
>  - Convert the cpu option to cpu-num
>  - Require the user to specify endianess
> V2:
>  - Add an entry to the maintainers file
>  - Add some documentation
>  - Perform bounds checking on the data_len
>  - Register and unregister the reset in the realise/unrealise
> Changes since RFC:
>  - Add support for BE
> 
> 
> Alistair Francis (5):
>   loader: Allow ELF loader to auto-detect the ELF arch
>   loader: All a custom SddressSpace when loading ROMs
>   loader: Add AddressSpace loading support to ELFs
>   generic-loader: Add a generic loader
>   docs: Add a generic loader explanation document
> 
>  MAINTAINERS                      |   6 ++
>  docs/generic-loader.txt          |  60 +++++++++++++
>  hw/core/Makefile.objs            |   2 +
>  hw/core/generic-loader.c         | 177 
> +++++++++++++++++++++++++++++++++++++++
>  hw/core/loader.c                 |  34 ++++++--
>  include/hw/core/generic-loader.h |  45 ++++++++++
>  include/hw/elf_ops.h             |  10 ++-
>  include/hw/loader.h              |  24 ++++--
>  8 files changed, 343 insertions(+), 15 deletions(-)
>  create mode 100644 docs/generic-loader.txt
>  create mode 100644 hw/core/generic-loader.c
>  create mode 100644 include/hw/core/generic-loader.h
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]