[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 0/2] Add a generic loader
From: |
Alistair Francis |
Subject: |
Re: [Qemu-devel] [PATCH v1 0/2] Add a generic loader |
Date: |
Thu, 18 Feb 2016 11:02:11 -0800 |
On Thu, Feb 18, 2016 at 10:27 AM, Hollis Blanchard
<address@hidden> wrote:
> This cover letter has some useful explanation. Perhaps some of the contents
> should go into a docs/ file so other people can enjoy it too? :-)
Ok, I have created a docs file based on the cover letter
>
> I understand the part about loading multiple files, but why would I want to
> load a kernel with this loader, instead of the -kernel option?
If you just want to load a kernel, you should use the -kernel option.
The advantage with this is when you need multiple images. For example:
- Load ATF and let it run
- Hands off to a simple loader that sets some registers and drops EL
- Start Linux
To be able to perform the steps above all three images and the DTB
need to already be loaded. This allows us to boot Linux on ATF without
u-boot. That is just one example, there are others. Mostly it comes
down to using ATF and something.
We also use the register write to avoid having to run first stage boot
loaders, as the kernel expects this registers to be set but we don't
want to run the whole boot loader.
It also allows images to be loaded later in the boot process from the
monitor. We use this for some other testing as well.
Thanks,
Alistair
>
> Hollis Blanchard
> Mentor Graphics Emulation Division
>
>
> On 02/17/2016 01:04 PM, 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.
>>
>> The limiation for arch is based off settting the ELF_ARCH macro.
>>
>> The reset patch is required otherwise the reset will never be registered
>> and the loader can't change the PC in the case of images.
>>
>> Changes since RFC:
>> - Add support for BE
>>
>>
>> Alistair Francis (2):
>> qdev-monitor.c: Register reset function if the device has one
>> generic-loader: Add a generic loader
>>
>> default-configs/arm-softmmu.mak | 1 +
>> hw/misc/Makefile.objs | 2 +
>> hw/misc/generic-loader.c | 127
>> +++++++++++++++++++++++++++++++++++++++
>> include/hw/misc/generic-loader.h | 50 +++++++++++++++
>> qdev-monitor.c | 2 +
>> 5 files changed, 182 insertions(+)
>> create mode 100644 hw/misc/generic-loader.c
>> create mode 100644 include/hw/misc/generic-loader.h
>>
>
>
- Re: [Qemu-devel] [PATCH v1 2/2] generic-loader: Add a generic loader, (continued)
Re: [Qemu-devel] [PATCH v1 2/2] generic-loader: Add a generic loader, Hollis Blanchard, 2016/02/18
[Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Alistair Francis, 2016/02/17
Re: [Qemu-devel] [PATCH v1 0/2] Add a generic loader, Hollis Blanchard, 2016/02/18
- Re: [Qemu-devel] [PATCH v1 0/2] Add a generic loader,
Alistair Francis <=