On Mon, 21 Sept 2026 at 22:47, Bernhard Beschow <[email protected]> wrote:
>
> When using mcimx7d-sabre with newer Linux versions such as 7.0, the
> machine fails to boot. This happens due to memory transaction failures
> since the address space is not fully covered with unimp devices. Fix
> booting by ignoring memory transaction failures in the machine.
>
> cc: qemu-stable
> Signed-off-by: Bernhard Beschow <[email protected]>
> ---
>  hw/arm/mcimx7d-sabre.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/hw/arm/mcimx7d-sabre.c b/hw/arm/mcimx7d-sabre.c
> index 65fdb19c06..8d223fca6c 100644
> --- a/hw/arm/mcimx7d-sabre.c
> +++ b/hw/arm/mcimx7d-sabre.c
> @@ -83,6 +83,7 @@ static void mcimx7d_sabre_machine_init(MachineClass *mc)
>      mc->max_cpus = FSL_IMX7_NUM_CPUS;
>      mc->default_ram_id = "mcimx7d-sabre.ram";
>      mc->auto_create_sdcard = true;
> +    mc->ignore_memory_transaction_failures = true;
>  }

This flag is in QEMU strictly to allow us to preserve
backwards compatibility of behaviour with the older QEMU
versions which pre-dated the suport of transaction failures
(and where therefore we expected that if we just enabled it
globally that we'd break previously-working user setups
because we were missing some devices). It should not be
newly set for any board model that isn't already setting it
(and in an ideal world we would eliminate it from all those
old board models, except that's a lot of work for mostly
ancient hardly used machine types).

Instead the fix here is to identify which devices we need
to provide as at least unimplemented-device stubs, and add
them to the board/SoC.

thanks
-- PMM

Reply via email to