qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Chao Liu <chao.liu@yeah.net>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, bin.meng@windriver.com,
	edgar.iglesias@gmail.com, alistair@alistair23.me
Subject: Re: Re: [PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq
Date: Fri, 27 Sep 2024 22:43:07 +0800	[thread overview]
Message-ID: <f3a856aa-52c0-43a0-be32-0610e38c8bcd@yeah.net> (raw)
In-Reply-To: <CAFEAcA-Eod5HrhsNzPcrszTLS2G2+n=87svbfUEs8BhA=F_MwQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2704 bytes --]

On 2024/9/27 22:20, Peter Maydell wrote:

> On Fri, 27 Sept 2024 at 15:03, Chao Liu<chao.liu@yeah.net> wrote:
>> On 2024/9/27 20:18, Peter Maydell wrote:
>>> On Fri, 27 Sept 2024 at 09:52, Chao Liu<chao.liu@yeah.net> wrote:
>>> Even if our test set is not sufficiently comprehensive, we can create an
>>> unimp_device for the maximum address space allowed by the board. This prevents
>>> the guest system from triggering unexpected exceptions when accessing
>>> unimplemented devices or regions.
>> What would be the benefit of doing that? If we're going to
>> say "we'll make accesses to regions without devices not
>> generate faults", the simplest way to do that is to
>> leave the ignore_memory_transaction_failures flag set
>> the way it is.
>> Introducing this flag provides a straightforward way to suppress
>> memory access exceptions by checking if the flag is enabled after
>> a CPU memory access failure; however,its primary purpose is to
>> ensure compatibility.
>> Since we can designate unimplemented device memory ranges with
>> "unimplemented-device," this represents a more standard approach in QEMU
>> for managing RAZ/WI behavior.
> I don't think that using a 4GB unimplemented-device is
> a "more standard" way to do this. We have a standard way for
> the board model to say "we don't know whether there might
> be existing guest code out there that relies on being able
> to make accesses to addresses where there should be a device
> but we haven't modeled it". That way is to set the
> ignore_memory_transaction_failures flag.
>
> There are two things we can do:
>
> (1) We can leave the ignore_memory_transaction_failures
> flag set. This is safe (no behaviour change) but not the
> right (matching the hardware) behaviour. The main reason
> to do this is if we don't feel we have enough access to
> a range of guest code to test the other approach.
>
> (2) We can clear the flag. This is preferable (it matches the
> hardware). But the requirement to do this is that
>   (a) we must make the best effort we can to be sure we've
>       put unimplemented-device placeholders for specific
>       devices we don't yet model (by checking e.g. the
>       hardware documentation for the SoC and board model,
>       the device tree, etc)
>   (b) we do the most wide-ranging testing of guest code that
>       we can. This checks that we didn't miss anything in (a).
>
> I don't mind which of these we do. What I was asking in my
> comments on version one of your patch was for how we were
> doing on requirement 2b.
>
> thanks
> -- PMM

I understand! I will provide more comprehensive testing methods
and results as soon as possible and will get back to you.

Best regards,
Chao Liu

[-- Attachment #2: Type: text/html, Size: 3659 bytes --]

      reply	other threads:[~2024-09-27 14:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-27  8:51 [PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq Chao Liu
2024-09-27  8:51 ` [PATCH v2 1/2] xilink_zynq: Add various missing unimplemented devices Chao Liu
2024-09-27  8:51 ` [PATCH v2 2/2] xilink-zynq-devcfg: Fix up for memory address range size not set correctly Chao Liu
2024-09-27 12:18 ` [PATCH v2 0/2] Drop ignore_memory_transaction_failures for xilink_zynq Peter Maydell
2024-09-27 14:03   ` Chao Liu
2024-09-27 14:20     ` Peter Maydell
2024-09-27 14:43       ` Chao Liu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f3a856aa-52c0-43a0-be32-0610e38c8bcd@yeah.net \
    --to=chao.liu@yeah.net \
    --cc=alistair@alistair23.me \
    --cc=bin.meng@windriver.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).