qemu-discuss
[Top][All Lists]
Advanced

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

Re: Custom soc on ARM64, failed to load the firmware properly


From: Peter Maydell
Subject: Re: Custom soc on ARM64, failed to load the firmware properly
Date: Mon, 27 Feb 2023 18:12:52 +0000

On Mon, 27 Feb 2023 at 17:28, Alyosha Shevandin
<shevandin_al@hotmail.com> wrote:
>
> I'm building the custom SoC emulation that is based on the Cortext-a55.
>
> During the runtime $pc register contains 0 instead the address that is 
> provided in means of arm_boot_info.loader_start :

> Then the quemu is started:
>
> qemu-system-aarch64 -s -S -nographic -machine custom-soc-machine -bios bl1.elf

You're not passing a kernel. The loader_start address only
applies when starting a Linux kernel directly (i.e. when
not trying to run a guest BIOS blob). If you're
not booting a kernel, then you get the default behaviour that
the CPU has out of reset, which is that it starts at the
address in the RVBAR register, which should be where your
BIOS is. By default for QEMU that value is 0 -- if your
SoC configures the CPU so it is something else then you
can get QEMU to do the same with the "rvbar" QOM property
on the CPU object.

The .loader_start value should probably not be the same as the
place where you put the BIOS: typically it is the base of
the main RAM block, because that's where you would want
to load a guest kernel.

-- PMM



reply via email to

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