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: Alistair Francis
Subject: Re: [Qemu-devel] [PATCH v8 0/5] Add a generic loader
Date: Tue, 5 Jul 2016 10:45:23 -0700

On Mon, Jul 4, 2016 at 5:43 AM, Christian Borntraeger
<address@hidden> wrote:
> 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.

Great! I'm glad it is useful for others.

Thanks,

Alistair

>
>
>>
>> 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]