From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH RFC 04/11] s390/qemu: cpu model cpu facilitiy support
Date: Mon, 7 Oct 2013 12:47:53 +0200 [thread overview]
Message-ID: <20131007124753.76c5ec84@bee> (raw)
In-Reply-To: <524D84CE.1000601@twiddle.net>
On Thu, 03 Oct 2013 07:53:02 -0700
Richard Henderson <rth@twiddle.net> wrote:
> On 10/02/2013 04:33 AM, Michael Mueller wrote:
> > +/* set a specific bit in facility set */
> > +static void set_facility(unsigned int nr, void *facilities)
> > +{
> > + unsigned char *ptr;
> > +
> > + if (nr >= MAX_S390_FACILITY_BIT) {
> > + return;
> > + }
> > + ptr = (unsigned char *) facilities + (nr >> 3);
> > + *ptr |= (0x80 >> (nr & 7));
> > +}
>
> I'd like to see this done in a host endian independent way.
valid point, I will address that.
>
> See my recent patch set to add facility support to the tcg side
> of target-s390, with which this patch set is going to conflict.
I saw it, that's why I've pushed this patch set out for RFC.
>
> Is there a good reason not to compute these facility masks at
> compile-time? See
>
> http://patchwork.ozlabs.org/patch/279534/
>
> where I have pre-computed (possibly incomplete) facilities lists
> for the major cpu revisions.
Your facilities lists have been derived from constants introduced in head.S. They represent model
specific "required" facilities. That does not necessarily mean for all of them that they have
been introduced with the respective model. Some have been introduced already with model: N-1, GA>1
>
> It just seems like your facility_availability array is the wrong
> way to go about things, taking up more memory and startup time
> than necessary.
>
The reason why I represent them in the data segment is that they are are not considered as
constants in the s390 system perspective. I plan to be able to simulate firmware migration that
introduce new facility bits without the need of restarting the guest OS.
A second reason for using 2k of memory here is to fully represent the facilities as defined
in the s390x architecture. The SIE state needs it and I want to represent it identically in user
space and KVM. Otherwise I would need a specific interface just for the facilities.
I will consider to alternatively use your way of FAC definition, but still that would include a
copy.
In regard to the startup time, I will figure out what the overhead is.
Thanks a lot!
Michael
>
> r~
>
next prev parent reply other threads:[~2013-10-07 10:48 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-02 11:33 [Qemu-devel] [PATCH RFC 00/11] s390 cpu models for KVM accelerator Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 01/11] s390/qemu: cpu modle disable list cpus Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 02/11] s390/qemu: cpu model extend config device Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 03/11] s390/qemu: cpu model cpu class definition Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 04/11] s390/qemu: cpu model cpu facilitiy support Michael Mueller
2013-10-03 14:53 ` Richard Henderson
2013-10-07 10:47 ` Michael Mueller [this message]
2013-10-07 15:35 ` Michael Mueller
2013-10-15 22:46 ` Richard Henderson
2013-10-16 12:21 ` Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 05/11] s390/qemu: cpu model alias support Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 06/11] s390/qemu: cpu model KVM properties requests Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 07/11] s390/qemu: cpu model class initialization Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 08/11] s390/qemu: cpu model command line option help Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 09/11] s390/qemu: cpu model QMP query-cpu-definitions Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 10/11] s390/qemu: cpu model QMP query-cpu-model Michael Mueller
2013-10-02 12:06 ` Eric Blake
2013-10-02 14:30 ` Michael Mueller
2013-10-02 11:33 ` [Qemu-devel] [PATCH RFC 11/11] s390/qemu: cpu model enablement Michael Mueller
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=20131007124753.76c5ec84@bee \
--to=mimu@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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).