linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64/kvm: Add generic v8 KVM target
Date: Thu, 25 Jun 2015 14:30:34 +0200	[thread overview]
Message-ID: <20150625123034.GE28244@cbox> (raw)
In-Reply-To: <558A7936.7020109@arm.com>

On Wed, Jun 24, 2015 at 10:32:38AM +0100, Marc Zyngier wrote:
> Hi Christoffer,
> 
> On 24/06/15 09:51, Christoffer Dall wrote:
> > On Wed, Jun 24, 2015 at 09:29:56AM +0100, Marc Zyngier wrote:
> >> On 22/06/15 09:44, Peter Maydell wrote:
> >>> On 17 June 2015 at 10:00, Suzuki K. Poulose <suzuki.poulose@arm.com> wrote:
> >>>> From: "Suzuki K. Poulose" <suzuki.poulose@arm.com>
> >>>>
> >>>> This patch adds a generic ARM v8 KVM target cpu type for use
> >>>> by the new CPUs which eventualy ends up using the common sys_reg
> >>>> table. For backward compatibility the existing targets have been
> >>>> preserved. Any new target CPU that can be covered by generic v8
> >>>> sys_reg tables should make use of the new generic target.
> >>>
> >>> How do you intend this to work for cross-host migration?
> >>
> >> It is not meant to work for cross migration at all.
> >>
> >>> Is the idea that the kernel guarantees that "generic" looks
> >>> 100% the same to the guest regardless of host hardware? I'm
> >>> not sure that can be made to work, given impdef differences
> >>> in ID register values, bp/wp registers, and so on.
> >>>
> >>> Given that, it seems to me that we still need to provide
> >>> KVM_ARM_TARGET_$THISCPU defines so userspace can request
> >>> a specific guest CPU flavour; so what does this patch
> >>> provide that isn't already provided by just having userspace
> >>> query for the "preferred" CPU type as it does already?
> >>
> >> The way I see this working is that a "generic" CPU cannot be migrated
> >> (because we don't know anything about it). If it can be identified as a
> >> known (non generic) implementation, then we can migrate it.
> >>
> > Concretely, how should this work?  Be enforced by userspace or should we
> > deny certain SET_ONE_REG operations from working on this target?
> 
> I can definitely see MIDR overriding failing on a generic CPU. Also, you
> shouldn't be able to select a generic CPU if we know about the physical CPU.
> 

If I am migrating from an A57 to an A53, but the VM was started as
"generic CPU" then we rely on the user discovering that this is not
supported when trying to set the MIDR from userspace in KVM?

> > 
> > Also, can we imagine any scenario where the generic CPU cannot me
> > modeled for a VM on a specific piece of hardware (current or future)?
> 
> What is the definition of a generic CPU here? In the above, generic
> really means "Unknown", so I can't immediately see what it would mean to
> model this.
> 
ok, good way to phrase it, I suppose that's a non-issue then.

Thanks,
-Christoffer

  reply	other threads:[~2015-06-25 12:30 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17  9:00 [PATCH] arm64/kvm: Add generic v8 KVM target Suzuki K. Poulose
2015-06-19 20:31 ` Timur Tabi
2015-06-22  6:47   ` Marc Zyngier
2015-06-22  8:44 ` Peter Maydell
2015-06-23 12:39   ` Christoffer Dall
2015-06-23 14:03     ` Suzuki K. Poulose
2015-06-23 14:16       ` Peter Maydell
2015-06-24  8:29   ` Marc Zyngier
2015-06-24  8:51     ` Christoffer Dall
2015-06-24  9:32       ` Marc Zyngier
2015-06-25 12:30         ` Christoffer Dall [this message]
2015-06-25 12:40           ` Marc Zyngier
2015-06-25 13:44             ` Marc Zyngier
2015-06-25 13:49               ` Peter Maydell
2015-06-26  9:53                 ` Christoffer Dall
2015-06-29 17:13                   ` Chalamarla, Tirumalesh
2015-06-29 17:30                     ` Marc Zyngier
2015-06-29 17:38                       ` Peter Maydell
2015-06-29 17:52                         ` Marc Zyngier
2015-06-29 18:39                           ` Chalamarla, Tirumalesh
     [not found]                             ` <D805D093-CCFE-4835-853A-B2654DAA10A1@caviumnetworks.com>
2015-07-03  8:08                               ` Marc Zyngier
2015-07-03  8:12                                 ` Peter Maydell
2015-07-03  8:28                                   ` Marc Zyngier
2015-07-03  9:34                                     ` Peter Maydell
2015-07-03 10:10                                       ` Marc Zyngier
2015-07-17  9:33                                         ` Christoffer Dall
2015-07-17  9:56                                           ` Marc Zyngier
2015-07-17 10:15                                             ` Christoffer Dall
2015-07-17 10:19                                               ` Marc Zyngier
2015-07-17 17:56                                                 ` Chalamarla, Tirumalesh

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=20150625123034.GE28244@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).