From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/2] Add support for a fake, para-virtualised machine
Date: Tue, 4 Dec 2012 17:11:29 +0000 [thread overview]
Message-ID: <20121204171129.GE5314@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1212041142490.6589@xanadu.home>
Hi Nicolas,
On Tue, Dec 04, 2012 at 05:00:07PM +0000, Nicolas Pitre wrote:
> On Tue, 4 Dec 2012, Rob Herring wrote:
>
> > That to me is highlighting where we need to do more work on DT driving
> > the initialization. The platforms are still aware of what kind of timers
> > and interrupt controllers are present. They should not be. There's work
> > in progress for both of those.
> >
> > Lorenzo's DT MPIDR patches should trim down smp code some. The DT spin
> > table code could probably be common. I think I could use it on highbank
> > as well. If we decide the pen code stays, then it should be common
> > rather than creating yet another copy.
>
> I don't want to rain on the "everything should be common" parade here.
> However, for the best part of last year I've been working on kernel
> support for big.LITTLE systems, and the handling of CPU hotplug
> (including SMP secondary boot) is far from being a trivial task.
> Managing the simple bringing up or down of a CPU in such an environment
> required hundreds of new lines of code. That is far from a simple
> holding pen or spinning table to say the least.
>
> [ For the curious, I'll post this code here soon for review. ]
>
> So my point of view is: if you do not need a holding pen because you can
> hold individual CPUs in reset, then don't. Many platforms with support
> in the kernel can do that, yet they copied the holding pen code just
> because it is there. And that is total crap.
Agreed, but it's also total crap forcing emulation of a made-up power
controller on the host in the case of a virtual platform.
> on the topic of a para-virtualised machine, I think that it should
> simply implement the PSCI calls to bring up CPUs _without_ any holding
> pen nor spinning tables. You issue the appropriate PSCI call with the
> physical address for secondary_startup() as argument and you're done.
> The host intercepts that call and free a new CPU instance in response.
> That's all.
I'd be happy to go with this suggestion if it wasn't for one thing:
platforms that do not implement a secure mode. For these platforms, smc will
be an undefined instruction at the exception level where it is executed and
therefore cannot be trapped by the hypervisor.
If that situation requires a pen, I see no benefit from having two boot
schemes where one of them would work in every case.
Will
next prev parent reply other threads:[~2012-12-04 17:11 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-03 17:52 [RFC PATCH 0/2] Add support for a fake, para-virtualised machine Will Deacon
2012-12-03 17:52 ` [RFC PATCH 1/2] ARM: Dummy Virtual Machine platform support Will Deacon
2012-12-03 17:52 ` [RFC PATCH 2/2] ARM: SMP support for mach-virt Will Deacon
2012-12-03 21:55 ` Rob Herring
2012-12-04 12:40 ` Will Deacon
2012-12-04 13:33 ` Russell King - ARM Linux
2012-12-04 13:40 ` Will Deacon
2012-12-04 14:37 ` Russell King - ARM Linux
2012-12-04 16:11 ` Will Deacon
2012-12-04 16:35 ` Russell King - ARM Linux
2012-12-04 17:24 ` Will Deacon
2012-12-04 19:37 ` Arnd Bergmann
2012-12-04 16:45 ` Rob Herring
2012-12-04 17:16 ` Will Deacon
2012-12-04 17:23 ` Rob Herring
2012-12-04 17:24 ` Marc Zyngier
2012-12-04 17:30 ` Will Deacon
2012-12-11 16:04 ` Stefano Stabellini
2012-12-11 16:09 ` Will Deacon
2012-12-11 16:34 ` Stefano Stabellini
2012-12-11 16:41 ` Ian Campbell
2012-12-11 16:43 ` Will Deacon
2012-12-11 17:14 ` Stefano Stabellini
2012-12-11 17:24 ` Will Deacon
2012-12-04 18:10 ` Nicolas Pitre
2012-12-03 21:54 ` [RFC PATCH 0/2] Add support for a fake, para-virtualised machine Rob Herring
2012-12-04 12:30 ` Will Deacon
2012-12-04 14:12 ` Rob Herring
2012-12-04 17:00 ` Nicolas Pitre
2012-12-04 17:11 ` Will Deacon [this message]
2012-12-04 18:02 ` Nicolas Pitre
2012-12-04 18:14 ` Will Deacon
2012-12-05 14:52 ` Catalin Marinas
2012-12-05 15:07 ` Nicolas Pitre
2012-12-05 15:10 ` Will Deacon
2012-12-05 15:07 ` Will Deacon
2012-12-05 15:15 ` Catalin Marinas
2012-12-11 16:19 ` Stefano Stabellini
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=20121204171129.GE5314@mudshark.cambridge.arm.com \
--to=will.deacon@arm.com \
--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).