From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Andrew Jones <drjones@redhat.com>,
mjaggi@caviumnetworks.com, "Nair,
Jayachandran" <Jayachandran.Nair@cavium.com>,
"quintela@redhat.com" <quintela@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"eric.auger@redhat.com" <eric.auger@redhat.com>,
"Jaggi, Manish" <Manish.Jaggi@cavium.com>,
"Nowicki, Tomasz" <Tomasz.Nowicki@cavium.com>
Subject: Re: [Qemu-devel] [RFC] [PATCH 0/3] qemu: arm: Migration between machines with different MIDR values
Date: Fri, 5 Oct 2018 09:48:35 +0100 [thread overview]
Message-ID: <20181005084835.GB2285@work-vm> (raw)
In-Reply-To: <CAFEAcA_JfsuFknwTs=Mq1=A+WoSJSdYnC3NUZxQiuS=jdg0FfA@mail.gmail.com>
* Peter Maydell (peter.maydell@linaro.org) wrote:
> On 4 October 2018 at 16:05, Andrew Jones <drjones@redhat.com> wrote:
> > On Tue, Oct 02, 2018 at 02:07:38PM +0100, Peter Maydell wrote:
> >> Hi; thanks for this patch. The issue I see with this patch
> >> is that the KVM/ARM QEMU approach to system registers so far
> >> has been "the kernel knows about these and it is in control".
> >> So we ask the kernel for the list of registers, and just save
> >> and restore those. That would suggest that if there are sysregs
> >> where it's OK in fact to ignore a difference between two constant
> >> register values, it should be the kernel doing the "actually, this
> >> mismatch is OK" behaviour...
> >
> > I don't think the kernel should have to maintain all that logic. If a user
> > wants to load guest registers, then the kernel should do it, as long as
> > it's safe from the host's integrity/security PoV, and the hardware would
> > actually support it. Anything that can only break the guest, but not the
> > host, should be allowed. The KVM userspace can certainly ask the kernel
> > what it recommends first (i.e. read the invariant registers first, before
> > deciding what to write), but the decision of what to write should be left
> > up to the user.
>
> I can see the logic of that approach. But right now QEMU
> userspace knows basically nothing about the system registers
> when we're using KVM: all that knowledge is in the kernel.
> So we don't have a place really to put policy info (and
> not really anywhere to put policy info that depends on the
> host CPU type when mostly we let the kernel care about that).
It would seem wrong to put this logic in the kernel because the
priviliged code should be as small as possible.
Dave
> >> For instance, it's probably OK to ignore a MIDR_EL1 difference
> >> that just indicates a minor revision bump; but not to ignore
> >> one that indicates you just tried to migrate a Cortex-A53
> >> over to a Cavium CPU.
> >
> > If the user does that, then the guest will break - oh well. That's not the
> > host kernel's problem.
>
> Patching QEMU to ignore all attempts to write wrong values
> to read-only registers would be easy. It just wouldn't
> be very helpful to the user...
>
> thanks
> -- PMM
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-10-05 8:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1537868529.git.manish.jaggi@cavium.com>
2018-10-02 13:07 ` [Qemu-devel] [RFC] [PATCH 0/3] qemu: arm: Migration between machines with different MIDR values Peter Maydell
2018-10-04 15:05 ` Andrew Jones
2018-10-04 15:26 ` Peter Maydell
2018-10-05 8:48 ` Dr. David Alan Gilbert [this message]
2018-10-05 9:17 ` Peter Maydell
[not found] ` <2a127056e5c1a1edb4a5d8e093bc67467685e0ac.1537868529.git.manish.jaggi@cavium.com>
2018-10-04 15:15 ` [Qemu-devel] [RFC] [PATCH 3/3] arm: Skip invariant register restore Andrew Jones
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=20181005084835.GB2285@work-vm \
--to=dgilbert@redhat.com \
--cc=Jayachandran.Nair@cavium.com \
--cc=Manish.Jaggi@cavium.com \
--cc=Tomasz.Nowicki@cavium.com \
--cc=drjones@redhat.com \
--cc=eric.auger@redhat.com \
--cc=mjaggi@caviumnetworks.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/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).