qemu-arm
[Top][All Lists]
Advanced

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

Re: Qemu and ARM secure state.


From: Peter Maydell
Subject: Re: Qemu and ARM secure state.
Date: Thu, 4 Nov 2021 11:11:23 +0000

On Wed, 3 Nov 2021 at 13:27, Jean-Christophe DUBOIS <jcd@tribudubois.net> wrote:
> I have a little application that is designed to work on the i.MX6UL processor.
>
> I developed it and tested it on the mcimx6ul-evk platform emulated by Qemu.
>
> This application used to work "flawlessly" on Qemu 5.0.50 and is working on 
> Qemu 6.0.0 (available as a pre-built package on the latest Ubuntu).
>
> But when I try to run the exact same command line on a Qemu version I compile 
> myself from main/latest of github (Qemu 6.1.50), my application fails to 
> start.
>
> So a little background:
>
> My application expects to start in "secure" state and supervisor mode (which 
> is the default state of i.MX6UL when booting barebone [without u-boot]).
>
> From this state the application tries to get to "non secure" / hypervisor 
> mode which imply going to the "secure" / monitor state before being able to 
> drop to "non secure" / hypervisor. To do so is runs a "smc 0" operand (from 
> "secure" / supervisor).
>
> This "smc" instruction is processed "as expected" by Qemu 5.0.50 and Qemu 
> 6.0.0 (getting to "secure" / monitor mode) but on Qemu 6.1.50 (latest from 
> github) it is as if the smc operand was a no-op. It doesn't trigger any 
> exception and the processor just get to the next instruction after the "smc" 
> instruction. So I am a bit puzzled.
>
> Is there something that changed in Qemu (since Qemu 6.0.0) when it comes to 
> the "secure" world/state?
> Is there some additional command line parameters to use (I search in the 
> documentation but without luck) to get secure world behavior ?
> Is it necessary to "adapt" the emulated platform (i.MX6UL/mcimx6ul-evk) in 
> some way (it looks like the "virt" machine with "secure=on" does work for arm 
> platform)?

Could you try doing a bisect to find the QEMU commit that caused
your guest to stop working ?

thanks
-- PMM



reply via email to

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