From: Stewart Smith <stewart@linux.vnet.ibm.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org, skiboot@lists.ozlabs.org
Subject: Re: [Skiboot] [PATCH][OPAL] cpufeatures: add base and POWER8, POWER9 /cpus/features dt
Date: Thu, 23 Mar 2017 18:32:15 +1100 [thread overview]
Message-ID: <878tnwtpmo.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170321152745.4a3e1f36@roar.ozlabs.ibm.com>
Nicholas Piggin <npiggin@gmail.com> writes:
> On Tue, 21 Mar 2017 15:42:22 +1100
> Stewart Smith <stewart@linux.vnet.ibm.com> wrote:
>
>> Nicholas Piggin <npiggin@gmail.com> writes:
>> > With this patch and the Linux one, I can boot (in mambo) a POWER8 or
>> > POWER9 without looking up any cpu tables, and mainly looking at PVR
>> > for MCE and PMU.
>>
>> That's pretty neat. I now await the day where somebody produces a chip
>> with uneven feature sets between cores.
>>
>> > Machine and ISA speicfic features that are not abstracted by firmware
>> > and not captured here will have to be handled on a case by case basis,
>> > using PVR if necessary. Major ones that remain are PMU and machine
>> > check.
>>
>> At least for machine check we could probably get something "good enough"
>> without too much effort.
>
> Machine check I'd like to put it in opal with a special case entry from
> the hypervisor. At the moment it just has a lot of implementation specific
> decoding of bits, and we can't really call opal to do anything useful
> with normal call because it re-enters the stack.
Ahh yep. Something along the lines of a machine check specific stack in
OPAL could do it, and we queue up calls etc etc.
It turns out my "not too much effort" metric is possibly different from
other people's :)
>> For PMU, I wonder if we could get something that's suitably common with
>> the IMC work being done so that we could "just work" on new PMUs (albeit
>> calling into OPAL for enable/disable)
>
> I don't know the PMU code, but if we could have some kind of firmware
> fallback like that it would be perfect.
>
> For machine specific implementations that are faster or more capable,
> I guess looking at PVR is not taboo as such. Just that it shouldn't
> be needed to boot and get some reasonable baseline.
Yeah, I'm not that familiar with it either. I need to go look over it
all in my copious amount of free time.
>> > Open question is where and how to develop and document these features?
>> > Not the dt representation created by skiboot, but the exact nature of
>> > each feature. What exact behaviour does a particular feature imply,
>> > etc.
>>
>> Part of me seems to think this could be something for the Architecture,
>> and then we just have a 1-to-1 mapping of the arch bits and we're all
>> one big happy family....
>>
>> Benh/Paulus can probably laugh at me suitably hard for suggesting such a
>> thing being possible though :)
>
> I think to a degree we might be moving in that direction. Probably
> can't say much more in public at the moment, but at least this dt
> implementation must be flexible enough to cope with a range of
> approaches we might decide to take (fine/coarse grained, fscr bits
> or not, etc).
Yeah, I think so too.
>> > --- a/hdata/cpu-common.c
>> > +++ b/hdata/cpu-common.c
>>
>> > + { "vector-crypto",
>> > + CPU_ALL,
>> > + ISA_BASE, USABLE_HV|USABLE_OS|USABLE_PR,
>> > + HV_SUPPORT_NONE, OS_SUPPORT_NONE,
>> > + -1, -1, 38,
>> > + "vector", },
>>
>> Did we want to break this down at all? Specifically maybe just the AES
>> instructions?
>>
>> AFAIK it's been the only set where there was some amount of discussion
>> about somebody possibly not wanting to include.
>
> I don't have much opinion on it. Userspace has only the one feature bit
> there, so missing part of the instructions would have to disable the
> entire thing.
>
> That's not to say we couldn't add another bit and start getting userspace
> to use it. So if there is some need or strong potential future need,
> we should consider it.
Hopefully we're right on ISA3.00 for new instructions that random folk
may say could be disabled if they fab'd their own chip :)
--
Stewart Smith
OPAL Architect, IBM.
next prev parent reply other threads:[~2017-03-23 7:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-07 11:13 [PATCH 0/2 v2] cpufeatures compatibility for OPAL and Linux Nicholas Piggin
2017-03-07 11:13 ` [PATCH][OPAL] cpufeatures: add base and POWER8, POWER9 /cpus/features dt Nicholas Piggin
2017-03-21 4:42 ` [Skiboot] " Stewart Smith
2017-03-21 5:27 ` Nicholas Piggin
2017-03-23 7:32 ` Stewart Smith [this message]
2017-03-07 11:13 ` [PATCH][Linux] powerpc/64s: cpufeatures: add initial implementation for cpufeatures Nicholas Piggin
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=878tnwtpmo.fsf@linux.vnet.ibm.com \
--to=stewart@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
--cc=skiboot@lists.ozlabs.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).